二叉树
概念:
1>二叉树的有序树
2>度每个节点下的节点数
完全二叉树:
根下的左右是满的
非完全二叉树:
根下的左右不满
二叉树的保存方式:
顺序保存:
保存少量数据,花费大量空间(???要它干嘛)
链式保存:
三顺遍历:
先序:
根左右 找根->左子树->右子树
画外圈
中序:
左根右 先左树->根->右树
tips:投影到坐标轴下
后续:左右根
先左树后右树,摘干净
按层:
从上到下,从左到右
查找和排序
查找:
直接查找,从头到尾,查找每一个数据
折半查找:(越靠后的数据越快找到,越靠前的数据找的越慢)
数据事先要从小到大排好
low在最低
high在最高
mind=(low+high)/2
比较mind内的数据
1> 数据>要找的 往左找,high=mid-1
2> 数据<要找的 往右找,low=mid+1
hash查找:散列表查找 --重中之重
hash因子(装填因子):一般是0.75
原数组大小/因子=(向上取整)的数
创建新的数组大小为(向上取整)的数
取【0-(向上取整)的数】 中最大的素数(只能被1与自身整除的数)
将原数组中的数据,对该最大的素数取余
得到的余数 可以得到该数据在新数组的位置
若产生冲突,即原数组两个数据 取余结果相同
解决方法
开放地址法:该位置被占 优先往后找位置 直到找到没有数据的位置,
将这个后到的数据放进去。
文章介绍了二叉树的概念,包括完全二叉树和非完全二叉树的定义。二叉树的保存方式有顺序保存和链式保存,其中链式保存包括先序、中序、后续和按层遍历等方法。接着讨论了查找和排序技术,如直接查找、折半查找和哈希查找,强调了哈希查找中装填因子和处理冲突的方法。

被折叠的 条评论
为什么被折叠?



