西寧網(wǎng)站維護推廣引流網(wǎng)站
線性表(Linear List)
? ? 1.什么是線性表
? ? 2.線性表的特點
? ? 3.線性表的基本運算
順序表
? ? 1.什么是順序表
? ? 2.時間復(fù)雜度:
鏈表
? ? 1.什么是鏈表
? ? 2.單向鏈表
? ? 3. 雙向鏈表
? ? 4.ArrayList和LinkedList的使用
棧Stack
? ? 1.什么是棧
? ? 2.棧的基本方法
隊列Queue
? ? 1.什么是隊列
? ? 2.隊列的特點
? ? 3.隊列的基本方法
二叉樹
? ? 1.什么是二叉樹
? ? 2.特別二叉樹
線性表(Linear List)
1.什么是線性表
? ? ?零個或多個數(shù)據(jù)元素的有限序列。
2.線性表的特點
? ? ?有且僅有一個開始結(jié)點,無直接前趨,有且只有一個直接后繼
? ? ?有且僅有一個結(jié)束結(jié)點,有且只有一個直接前趨,無直接后繼。
? ? ?內(nèi)部結(jié)點都有且只有一個直接前趨和一個直接后繼
?3.線性表的基本運算
? ? ? ?initList:初始化操作,建立一個空的線性表
? ? ? ?listEmpty:若線性表為空,返回true,否則返回false
? ? ? ?clearList:將線性表清空
? ? ? ?getElem(index):將線性表中第index個位置的元素值返回
? ? ? ?locateElem(value):在線性表中查找與value值相等的元素,查找成功則返回該元素在線性表中的索引,否則返回-1
? ? ? ?listInsert(index,value):在線性表中第index個位置插入value
? ? ? ?listDelete(index):刪除線性表第index個位置元素,返回該值
? ? ? ?listLength:返回線性表實際存儲元素個數(shù),即長度
? ? ? ?getAll:遍歷線性表
順序表
1.什么是順序表
? ? 順序表是按照順序存儲方式存儲的線性表,是一種特殊的線性表。
2.時間復(fù)雜度:
? ? 查詢時間復(fù)雜度為O(1);
? ??插入和刪除為O(n)。
鏈表
1.什么是鏈表
? ? 鏈表是一種線性表,但是并不會按線性的順序存儲數(shù)據(jù),而是在每一個節(jié)點里存到下一個節(jié)點的地址。鏈表可分為單向鏈表和雙向鏈表。
2.單向鏈表
? ? ?一個單向鏈表包含兩個值: 當(dāng)前節(jié)點的值和一個指向下一個節(jié)點的鏈接。
3. 雙向鏈表
?4.ArrayList和LinkedList的使用
? ? ? 以下情況使用 ArrayList :
? ? ? ? ? 頻繁訪問列表中的某一個元素。
? ? ? ? ? 只需要在列表末尾進行添加和刪除元素操作。
? ? ? ?以下情況使用 LinkedList :
? ? ? ? ? 需要通過循環(huán)迭代來訪問列表中的某些元素。
? ? ? ? ??需要頻繁的在列表開頭、中間、末尾等位置進行添加和刪除元素操作。
棧Stack
1.什么是棧
? ? ?棧是Vector的一個子類,它實現(xiàn)了一個標(biāo)準(zhǔn)的后進先出的棧。
? ? ?入棧和出棧。
2.棧的基本方法
1 | boolean empty()? 測試堆棧是否為空。 |
2 | Object peek( ) 查看堆棧頂部的對象,但不從堆棧中移除它。 |
3 | Object pop( ) 移除堆棧頂部的對象,并作為此函數(shù)的值返回該對象。 |
4 | Object push(Object element) 把項壓入堆棧頂部。 |
5 | int search(Object element) 返回對象在堆棧中的位置,以 1 為基數(shù)。? |
?隊列Queue
1.什么是隊列
? ? ?隊列是一種特殊的線性表,它只允許在表的前端進行刪除操作,而在表的后端進行插入操作。
?2.隊列的特點
? ? ? 1.只能在隊首進行刪除操作,在隊尾進行插入操作
? ? ? 2.先進先出,后進后出。
3.隊列的基本方法
插入 | add(e) | offer(e) |
刪除 | remove() | poll() |
查看 | element() | peek() |
二叉樹
1.什么是二叉樹
? ? ?二叉樹就是一個根節(jié)點最多有左右兩個孩子結(jié)點。
2.特別二叉樹
? ? ?滿二叉樹:顧名思義,就是所有結(jié)點都是滿的,有左有右。
? ? ?完全二叉樹:完全二叉樹是由滿二叉樹而引出來的,若一棵二叉樹至多只有最下面兩層的結(jié)點的度數(shù)可以小于2,并且最下層的結(jié)點都集中在該層最左邊的若干位置上,則此二叉樹為完全二叉樹。