数据结构基础
约 217 字
预计阅读 1 分钟
一、数据结构的存储方式
只有两种
二、数据结构的基本的操作
线性迭代结构
1
2
3
|
for(int i = 0; i < arr.length; i++){
// ...
}
|
链表的迭代框架,兼具迭代和递归结构
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
class ListNode {
int val;
ListNode next;
}
void traverse(ListNode head){
for (ListNode p = head; p != null; p = p.next) {
// 迭代访问
}
}
void traverse(ListNode head){
// 递归访问
traverse(head.next);
}
|
二叉树的遍历框架,典型的非线性递归遍历结构
1
2
3
4
5
6
7
8
9
|
class TreeNode{
int val;
TreeNode left, right;
}
void traverse(TreeNode root){
traverse(root.left);
traverse(root.right);
}
|
二叉树遍历框架的拓展,可以拓展为N叉树的遍历框架
1
2
3
4
5
6
7
8
9
|
class TreeNode{
int val;
TreeNode left, right;
}
void traverse(TreeNode root){
for (TreeNode child: root.children)
traverse(child);
}
|