1,本文介紹數據的概念,以便討論數據結構究竟是什么;
2,程序設計的挑戰:
1,利用計算機解決現實生活中的問題;
1,計算機顧名思義是其誕生的時候僅僅是給科學家使用,科學家用計算機進行計算;
2,這是個最大的挑戰;
2,生活中的不同個體間存在聯系;
1,這個復雜的關系很麻煩;
3,用計算機程序描述生活中個體間的聯系;
1,轉化為程序解決問題;
3,如何用程序描述生活中的個體和個體之間的聯系:
1,計算機接受的是數據:
1,將數據寫入計算機,讓程序到計算機中運行,計算機用程序來處理這些數據;
2,用數據描述生活中的個體和個體之間的關系;
4,數據的概念:
1,程序的操作對象,用於描述客觀事物;
2,客觀事物可以是科學計算的整型數、浮點數,也可以是生活中的描述個體的符號;
數據的特點:
1,可以輸入到計算機;
2,可以被計算機程序處理;
5,數據(人)中的新概念:

1,數據元素(一個人):
1,組成數據的基本單位;
2,數據項(頭、腳等):
1,一個數據元素由若干個數據項組成;
3,數據對象(程序員):
1,性質相同的數據元素的集合;
6,數據結構:
1,指數據對象中數據元素之間的關系;
1,數組(數據對象)中的各個元素(數據元素)之間的關系(下標地址);
2,數組就是簡單的線性結構關系;
2,數據元素之間不是獨立的:
1,存在特定的關系,這些關系即結構;
7,編寫一個“好”的程序之前,必須分析待處理問題中各個對象之間的特性,以及對象之間的關系:
1,即將處理的問題各個對象的特性以及對象那個之間的關系,只有分析好了這些才可能通過數據的方式來描述這些關系,描述問題當中的個體;
8,數據結構是相互之間存在特定關系的數據元素的集合,數據結構可以分為邏輯結構和物理結構:
9,數據結構中重點研究的結構(邏輯結構):
1,數據結構:
1,數據元素之間沒有特別的關系,僅同屬相同集合(一堆數據);
2,若耦合,關系很弱;
2,線性結構:
1,數據元素之間是一對一的關系;
2,比如數組關系;
3,樹形結構:
1,數據元素之間存在一對多的層次關系;
2,筆試面試最常考的關系;
4,圖形結構:
1,數據元素之間是多對多的關系;
2,數據結構中最難學的結構;
10,物理結構(數據面對的是計算機,因此邏輯結構必須依賴計算機中的物理結構實現)(邏輯結構在計算機中的存儲形式):

1,順序存儲結構:
1,將數據存儲在地址連續的存儲單元里;
2,比如內存中的存儲結構,內存地址是連續遞增的;
2,鏈式存儲結構:
1,將數據存儲在任意的存儲單元里;
2,通過保存地址的方式找到相關聯的數據元素;
3,保存數據的同時也保存下一個元素的地址;
11,總結:
1,數據是描述問題的符號;
2,數據結構是相互之間存在特定關系的數據元素的集合;
3,數據結構可分為邏輯結構和物理結構;
