coderwhy数据结构:

链表

head
结构:


封装链表类:

常见操作:

insert图解:

双向链表:

head、tail


封装双向链表类:

常见操作:

集合

由无序(不能通过下标访问)、不重复的元素组成
常见的实现方式:哈希表
封装:

字典

key不能重复,value可以

哈希表


哈希函数:根据员工名,快速转化成下标值=工号,继而其他操作(查找员工的详细信息)

解决哈希冲突方法2way:
一般就冲突两三个
①链地址法(在冲突数组的单元里面,存一个数组/链表,而不是存一个数。当查询时,先根据哈希化的下标值找到对应的位置,再取出链表,依次查询需要的数据 )

②开放地址法:
寻找空白的单元格来添加重复的数据(添加新数据,发现本来是我的位置被别人占了,那就找别的空位即可)

找别的空位的方法:线性探测,二次探测,再哈希法
线性探测:
插入数据↓

查找数据↓

二次探测:

再哈希法:

术语:

儿子兄弟表示法:

二叉树

5种形态:

笔试题常考特性:(no anki)

**存储: 完全二叉树用数组还可以
存:没问题
取:左节点--父节点2 右节点--父节点2+1

存储:通常用链表

封装BST代码:


常见操作:

先序遍历:
①访问根节点②先序遍历其左子树③先序遍历其右子树

posted @ 2022-02-24 17:20  ice猫猫3  阅读(187)  评论(0编辑  收藏  举报