順序表
什么是 list
list 的使用
線性表是什么
順序表是什么
順序表和線性表的關系
順序表和數組的區別
List 和 ArrayList 的關系
如何自己模擬實現 myArrayList
ArrayList 的構造
ArrayList 的常見方法
以下兩種寫法有什么區別
ArrayList<Integer> arrayList = new ArrayList<>();List<Integer> list = new ArrayList<>();
AraryList 的遍歷的代碼實現(6種)
iterator 方法的使用方法及原理
為什么 AraryList 、List 、Collection 、 Iterable 接口中都有 iterator 方法
?listIterator 方法的使用方法及原理
?listIterator 方法怎么實現從指定位置開始遍歷
?listIterator 方法怎么實現從后往前打印
返回值是 List<Integer> 是什么意思
返回值是 List<List<Integer>> 是什么意思
ArrayList 實現楊輝三角的代碼實現
ArrayList 實現簡單的洗牌算法
ArrayList 在任意位置插入或刪除元素時的時間復雜度
118. 楊輝三角 - 力扣(LeetCode)
鏈表
什么是鏈表
鏈表和順序表有什么區別
鏈表屬于線性表嗎
鏈表分為哪幾種
不帶頭鏈表和帶頭鏈表的區別
單向的雙向的區別
循環和非循環的區別
單向鏈表
單向不帶頭非循環的鏈表結構圖
雙向帶頭循環的鏈表結構圖(有點問題)
如何創建鏈表
一般把節點定義為靜態內部類
節點類型是什么
如何遍歷鏈表
遍歷鏈表用while(head != null); 與 wile(head.next != null); 的區別
head = head.next; 代表什么意思
node1.next = node2; 代表什么意思
如何自己實現 MySingleList 的 show addFirst(頭插) addLast(尾插) addIndex(任意位置插入)? contains(是否包含) searchIndex(找到 index 位置的前一個結點)?等功能
鏈表插入時的正確寫法是以下哪個,錯誤寫法會造成什么后果
node.next = head;
head = node;
//正確head = node;
node.next = head;
//錯誤
鏈表插入時應先綁定后面
尾插法的時間復雜度
雙向鏈表
雙向鏈表至少有幾個域,分別代表什么
怎么創建一個雙向鏈表
如何模擬實現雙向鏈表的 add(頭插)、addlast(尾插)、contains、size、display、addIndex(從任何位置插入)、remove、search、removeAll
雙向鏈表的頭驅怎么表示
LinkedList 中的方法的了解與使用
LinkedList 支持隨機訪問嗎
順序表和 LinkedList ,誰更適合任意插入的場景
鏈表的打印有幾種方法
線性表有順序存儲和鏈式存儲
21. 合并兩個有序鏈表 - 力扣(LeetCode)
142. 環形鏈表 II - 力扣(LeetCode)
141. 環形鏈表 - 力扣(LeetCode)
160. 相交鏈表 - 力扣(LeetCode)
鏈表的回文結構_牛客題霸_牛客網
鏈表分割_牛客題霸_牛客網
鏈表中倒數最后k個結點_牛客題霸_牛客網
876. 鏈表的中間結點 - 力扣(LeetCode)
206. 反轉鏈表 - 力扣(LeetCode)
203. 移除鏈表元素 - 力扣(LeetCode)
棧
棧是以哪種形式實現的
棧的常見使用
入棧和入棧的方式
如何利用數組實現棧的各種功能(實現 MyStack )
將本身以遞歸實現的代碼用循環實現
如何利用單鏈表實現棧的各種功能(實現 MyStack )
棧從尾部插入和刪除,一般使用順序表實現
題目:
155. 最小棧 - 力扣(LeetCode)
?
20. 有效的括號 - 力扣(LeetCode)
棧的壓入、彈出序列_牛客題霸_牛客網
150. 逆波蘭表達式求值 - 力扣(LeetCode)