1.計算機科學的兩大支柱:
1.數據結構
2.算法
2.數據結構定義:
一門研究非數值計算的程序設計問題中計算機的操作對象以及它們之間的關系和操作等等的學科。
數據(Data): 是對信息的一種符號表示。在計算機科學中是指所有能輸入到計算機中并被計算機程序處理的符號的總稱。
數據元素(Data Element): 是數據的基本單位,在計算機程序中通常作為一個整體進行考慮和處理。
一個數據元素可由若干個數據項組成。數據項是數據的不可分割的最小單位。
數據結構(Data Structure): 是相互之間存在一種或多種特定關系的數據元素的集合。
3.數據結構主要指邏輯結構和物理結構,數據之間的相互關系稱為邏輯結構。通常分為四類基本結構:
集合: 結構中的數據元素除了同屬于一種類型外,別無其它關系。
線性結構:結構中的數據元素之間存在一對一的關系。
樹型結構:結構中的數據元素之間存在一對多的關系。
圖狀結構或網狀結構 : 結構中的數據元素之間存在多對多的關系。
4.數據結構在計算機中有兩種不同的表示方法:
順序存儲結構: 用數據元素在存儲器中的相對位置來表示數據元素之間的邏輯關系。
鏈式存儲結構:在每一個數據元素中增加一個存放地址的指針,用此指針來表示數據元素之間的邏輯關系。
5.數據對象:
某種數據類型元素的集合。
eg:整數的數據對象是{…-3,-2,-1,0,1,2,3,…}
英文字符類型的數據對象是{A,B,C,D,E,F,…}
數據類型:在一種程序設計語言中,變量所具有的數據種類。
6.數據結構的三個方面:
7.算法
用抽象的語言描述解決特定問題的每一步的操作。程序是計算機能理解和執行的指令序列。一個程序實現一個算法。算法和程序的區別是算法的執行是有窮的,而程序的執行可以是無限的。
8.時間復雜度
9.
1、什么是集合
通常情況下,把具有相同性質的一類東西,匯聚成一個整體,就可以稱為集合。比如,用Java編程的所有程序員,全體中國人等。
2、什么是集合框架
集合框架是為表示和操作集合而規定的一種統一的標準的體系結構。任何集合框架都包含三大塊內容:對外的接口、接口的實現和對集合運算的算法。
3、集合框架對我們編程有何助益:
它減少了程序設計的辛勞、它提高了程序速度和質量。
10. Collection 接口是一組允許重復的對象。
Set 接口繼承 Collection,但不允許重復,使用自己內部的一個排列機制。
List 接口繼承 Collection,允許重復,以元素安插的次序來放置元素,不會重新排列。
Map接口是一組成對的鍵-值對象,即所持有的是key-value pairs。Map中不能有重復的key。擁有自己的內部排列機制。
容器中的元素類型都為Object。從容器取得元素時,必須把它轉換成原來的類型。
11. 遞歸:
若一個對象部分地包含它自己, 或用它自己給自己定義, 則稱這個對象是遞歸的;若一個過程直接地或間接地調用自己, 則稱這個過程是遞歸的過程。
12. 線性表:
線性表是由n(n≥0)個相同類型的數據元素a1,a2,…,an組成的有限序列,記作:LinearList={a1,a2,…,an}
其中,n表示線性表的元素個數,稱為線性表的長度。
13. 線性表的順序存儲結構:
是用一組連續的存儲單元順序存放線性表的數據元素,數據元素在內存的物理存儲次序與它們在線性表中的邏輯次序是一致的,即數據元素ai與其前驅數據元素ai-1及后繼數據元素ai+1的位置相鄰。
14.迭代器:
迭代器是允許以一致的方式對集合對象的元素進行訪問的對象。迭代器對象一旦發現另一個對象在結構上修改這一集合,就馬上會報錯。這是因為一旦你開始對一個ArrayList對象進行迭代,就不能再修改這個ArrayList完整性。所以彈出 ConcurrentModificationException
審核編輯 :李倩
-
算法
+關注
關注
23文章
4709瀏覽量
95339 -
數據結構
+關注
關注
3文章
573瀏覽量
40739
原文標題:編程基礎必學:淺析數據結構!你應該沒有這樣了解過吧?
文章出處:【微信號:cyuyanxuexi,微信公眾號:C語言編程學習基地】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
同步電機失步淺析
SOLIDWORKS建模秘籍——必學的五個草圖與建模技巧

程序設計與數據結構
請問K230D怎么將攝像頭采集的視頻數據通過串口輸出?
C語言中結構體與聯合體的深度解析:內存布局與應用場景
EtherCAT數據幀結構解析
DDC264配置寄存器數據寫入和320 DCLK時鐘脈沖后的回讀數據結構是什么?
視覺軟件HALCON的數據結構

評論