数据结构:数组,链表,栈,队列。哈希表。树:二叉树,堆,多路查找树。图
ADT:在数据结构上添加了操作,就是ADT
一.数组
1.特点:查找块(随机访问块),增删慢 链表:查找慢,增删块
2.用数组实现实现的ADT其实叫:顺序表(ArrayList)
3.用数组来实现数据结构(包括查增删改,遍历,扩容)
4.java中关于数组的一些操作:Arrays类,System.arraycopy()
二.链表
1.分类:
单链表
双链表:双链表 既可以向前查询也可以向后查询
循环链表:循环链表可以用来解决约瑟夫环问题
2.节点的定义
1 class Node { 2 int data; 3 Node next; 4 5 Node(int data) { 6 this.data = data; 7 } 8 }
3.操作:查增删改。遍历,大小,判空
4.(1)链表也是一种递归的数据结构
(2)适用于存储有循环特点的数据,比如约瑟夫环问题