0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)及數(shù)據(jù)之間的關(guān)系分析

454398 ? 來源:itpub技術(shù)棧 ? 作者:itpub技術(shù)棧 ? 2020-09-30 16:14 ? 次閱讀

數(shù)據(jù)結(jié)構(gòu),直白地理解,就是研究數(shù)據(jù)的存儲方式。

我們知道,數(shù)據(jù)存儲只有一個目的,即為了方便后期對數(shù)據(jù)的再利用,就如同我們使用數(shù)組存儲{1,2,3,4,5}是為了后期取得它們的加和值,無緣由的數(shù)據(jù)存儲行為是對存儲空間的不負(fù)責(zé)任。

因此,數(shù)據(jù)在計算機(jī)存儲空間的存放,決不是胡亂的,這就要求我們選擇一種好的方式來存儲數(shù)據(jù),而這也是數(shù)據(jù)結(jié)構(gòu)的核心內(nèi)容。

例如,一直以來大家面對的數(shù)據(jù)存儲,都是類似存儲 1、2、{a,b,c} 這樣的問題,解決方式無疑是用變量或者數(shù)組對數(shù)據(jù)進(jìn)行存儲,即:

int a=1;
int b=2;
char str[3]={'a','b','c'};

但是,如果要存儲這樣一組數(shù)據(jù):{張亮,張平,張華,張群,張晶,張磊},數(shù)據(jù)之間具有這樣的關(guān)系:張亮是張平、張華和張群的父親,同時張平還是張晶和張磊的父親,數(shù)據(jù)之間的關(guān)系如圖1 所示:

圖 1 數(shù)據(jù)及數(shù)據(jù)之間的關(guān)系

對于存儲之間具有復(fù)雜關(guān)系的數(shù)據(jù),如果還是用變量或數(shù)組來存儲(比如用數(shù)組存儲 {“張亮”,"張平",“張華”,"張群","張晶","張磊"} ),數(shù)據(jù)存儲是沒有問題,但是無法體現(xiàn)數(shù)據(jù)之間的邏輯關(guān)系,后期根本無法使用,顯然不明智。

針對此類數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)中提供有專門的樹結(jié)構(gòu)來存儲這類數(shù)據(jù)。

再比如,導(dǎo)航無疑是出游旅行的必備神器,在我們程序員眼中,無論是哪款導(dǎo)航軟件,其導(dǎo)航功能的實現(xiàn)都需要大量地圖數(shù)據(jù)的支持。很明顯,這些數(shù)據(jù)絕不是使用變量或數(shù)組進(jìn)行存儲的,那樣對于數(shù)據(jù)的使用簡直是個悲劇。

針對此類數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)提供了圖存儲結(jié)構(gòu),專門用于存儲這類數(shù)據(jù)。

通過以上兩個示例可以體會出,數(shù)據(jù)結(jié)構(gòu)教會我們的絕不僅僅是如何存儲 1、2、{a,b,c} 這樣簡單的數(shù)據(jù),而是解決具有復(fù)雜關(guān)系的大量數(shù)據(jù)的存儲問題。

因此,數(shù)據(jù)結(jié)構(gòu)是什么? 我認(rèn)為,數(shù)據(jù)結(jié)構(gòu)是一門學(xué)科,它教會我們“如何存儲具有復(fù)雜關(guān)系的數(shù)據(jù)更有助于后期對數(shù)據(jù)的再利用”。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    不同數(shù)據(jù)結(jié)構(gòu)的定義代碼

    數(shù)據(jù)結(jié)構(gòu)是相互之間存在一種或多種特定關(guān)系數(shù)據(jù)元素的集合。
    的頭像 發(fā)表于 11-29 14:13 ?535次閱讀

    數(shù)據(jù)結(jié)構(gòu)與算法分析(Java版)(pdf)

    數(shù)據(jù)結(jié)構(gòu)與算法分析(Java版)(pdf)http://www.ibeifeng.com/read.php?tid=4812&u=73481【中文】Java數(shù)據(jù)結(jié)構(gòu)和算法中文第二
    發(fā)表于 12-20 21:22

    什么是數(shù)據(jù)結(jié)構(gòu)(Data Structrue)

    的一個一個元素數(shù)據(jù)對象:具有相同特性的數(shù)據(jù)元素的集合結(jié)構(gòu)數(shù)據(jù)元素之間具有的關(guān)系(聯(lián)系)&nbs
    發(fā)表于 02-09 17:17

    數(shù)據(jù)結(jié)構(gòu)與算法分析

    數(shù)據(jù)結(jié)構(gòu)與算法分析
    發(fā)表于 06-05 10:46

    數(shù)據(jù)結(jié)構(gòu)

    1.數(shù)據(jù)結(jié)構(gòu)的概念 所謂數(shù)據(jù)結(jié)構(gòu)是指由某一數(shù)據(jù)對象及該對象中所有數(shù)據(jù)成員之間關(guān)系組成的集合。成
    發(fā)表于 03-04 14:13

    數(shù)據(jù)結(jié)構(gòu)的幾個重要知識點

    希望所招入的技術(shù)人員能夠面向數(shù)據(jù)和邏輯,這對于整個軟件架構(gòu)來說很重要,而不僅僅是把一段代碼寫好。數(shù)據(jù)結(jié)構(gòu)是指相互之間存在著一種或多種關(guān)系數(shù)據(jù)
    發(fā)表于 02-27 15:01

    常見的數(shù)據(jù)結(jié)構(gòu)

    ;,"張晶","張磊"} ),數(shù)據(jù)存儲是沒有問題,但是無法體現(xiàn)數(shù)據(jù)之間的邏輯關(guān)系,后期根本無法使用,顯然不明智。針對此類
    發(fā)表于 05-10 07:58

    數(shù)據(jù)結(jié)構(gòu)教程,下載

    1. 數(shù)據(jù)結(jié)構(gòu)的基本概念 2. 算法與數(shù)據(jù)結(jié)構(gòu)3. C語言的數(shù)據(jù)類型及其算法描述要點4. 學(xué)習(xí)算法與數(shù)據(jù)結(jié)構(gòu)的意義與方法
    發(fā)表于 05-14 17:22 ?0次下載
    <b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>教程,下載

    GPIB命令的數(shù)據(jù)結(jié)構(gòu)

    針對GPIB命令的結(jié)構(gòu),提出一種存儲GPIB命令的數(shù)據(jù)結(jié)構(gòu)。根據(jù)GPIB命令的層次關(guān)系的特點,選擇數(shù)據(jù)結(jié)構(gòu)中“樹”的概念來存儲GPIB命令結(jié)點;并考慮程序?qū)崿F(xiàn)的效率問題以及管理維護(hù)
    發(fā)表于 02-10 16:20 ?70次下載

    GPIB命令的數(shù)據(jù)結(jié)構(gòu)

    針對GPIB命令的結(jié)構(gòu),提出一種存儲GPIB命令的數(shù)據(jù)結(jié)構(gòu)。根據(jù)GPIB命令的層次關(guān)系的特點,選擇數(shù)據(jù)結(jié)構(gòu)中“樹”的概念來存儲GPIB命令結(jié)點;并考慮程序?qū)崿F(xiàn)的效率問題以及管理維護(hù)
    發(fā)表于 01-04 10:13 ?0次下載

    什么叫數(shù)據(jù)結(jié)構(gòu)?

    什么叫數(shù)據(jù)結(jié)構(gòu) 定義:由某一數(shù)據(jù)對象及該對象中所有數(shù)據(jù)成員之間關(guān)系組成。記為:     
    發(fā)表于 07-15 16:12 ?1208次閱讀
    什么叫<b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>?

    數(shù)據(jù)結(jié)構(gòu)_嚴(yán)蔚敏

    數(shù)據(jù)結(jié)構(gòu)是計算機(jī)存儲、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系數(shù)據(jù)元素的集合
    發(fā)表于 10-28 17:25 ?0次下載
    <b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>_嚴(yán)蔚敏

    數(shù)據(jù)結(jié)構(gòu)是什么_數(shù)據(jù)結(jié)構(gòu)有什么用

    數(shù)據(jù)結(jié)構(gòu)是計算機(jī)存儲、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系數(shù)據(jù)元素的集合
    發(fā)表于 11-17 14:45 ?1.6w次閱讀
    <b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>是什么_<b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>有什么用

    什么是數(shù)據(jù)結(jié)構(gòu)?為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)?數(shù)據(jù)結(jié)構(gòu)的應(yīng)用實例分析

    本文檔的主要內(nèi)容詳細(xì)介紹的是什么是數(shù)據(jù)結(jié)構(gòu)?為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)?數(shù)據(jù)結(jié)構(gòu)的應(yīng)用實例分析包括了:數(shù)據(jù)結(jié)構(gòu)在串口通信當(dāng)中的應(yīng)用,
    發(fā)表于 09-26 15:45 ?14次下載
    什么是<b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>?為什么要學(xué)習(xí)<b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>?<b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>的應(yīng)用實例<b class='flag-5'>分析</b>

    常見的數(shù)據(jù)結(jié)構(gòu)有哪些

    數(shù)據(jù)結(jié)構(gòu)是計算機(jī)存儲、組織數(shù)據(jù)的方式,是指相互之間存在一種或多種特定關(guān)系數(shù)據(jù)元素的集合
    的頭像 發(fā)表于 04-06 17:26 ?2691次閱讀
    常見的<b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>有哪些