摘要: 1.基本配置: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans 3 xmlns="http://www.springframework.org/schema/beans" 4 xmlns:xsi="http://www.w3.org/2001/XM 阅读全文
posted @ 2021-07-04 20:08 白刃天使 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 二叉树查找主要有三种:前序查找、中序查找、后序查找 三种查找的思路分析: 前序查找: 先判断当前的结点node是否等于要查找的 如果是相等,则返回当前结点 如果不相等,则判断当前结点的左子结点是否为空,如果不为空,则递归前序查找 如果左递归前序查找,找到结点,则返回,否则继续判断,当前结点的右子结点 阅读全文
posted @ 2020-11-03 15:36 白刃天使 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 二叉树遍历的说明 使用前序,中序和后序对二叉树进行遍历: 1. 前序遍历: 先输出父节点,再遍历左子树和右子树(父左右) 2. 中序遍历: 先遍历左子树,再输出父节点,再遍历右子树(左父右) 3. 后序遍历: 先遍历左子树,再遍历右子树,最后输出父节点(左右父) 小结: 看输出父节点的顺序,就确定是 阅读全文
posted @ 2020-11-03 14:56 白刃天使 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 1、先明确完全二叉树的概念 完全二叉树分为楼主所说的(图1就是了),还有一种完全二叉树是图2。图2也是完全二叉树!图2也是完全二叉树!图2也是完全二叉树! 概念: 完全二叉树分为两种: 1、最后一层没有满,那么最后一层的节点都得在左边。 2、最后一层满了,那就得全满才行,图2。 完全二叉树就这么个事 阅读全文
posted @ 2020-11-03 14:16 白刃天使 阅读(3464) 评论(0) 推荐(0) 编辑
摘要: 为什么需要树这种数据结构 1) 数组存储方式的分析 优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低 。 插入的操作示意图: 2) 链式存储方式的分析 优点:在一定程度上对数组存储方式有优化(比 阅读全文
posted @ 2020-11-03 14:09 白刃天使 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 哈希表基本介绍 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 哈希表的应用场景: 哈希表的逻辑图: 有关哈希表的 阅读全文
posted @ 2020-11-03 11:32 白刃天使 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 斐波那契(黄金分割法)原理: 斐波那契查找原理与前两种查找(二分查找和插值查找)相似,仅仅改变了中间结点(mid)的位置,mid 不再是中间或插值得到,而是位于黄金分割点附近,即 mid=low+F(k-1)-1(F 代表斐波那契数列),如下图所示: 对 F(k-1)-1 的理解: 由斐波那契数列F 阅读全文
posted @ 2020-11-02 16:58 白刃天使 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 1)插值查找原理介绍: 插值查找算法类似于二分查找,不同的是插值查找每次从自适应 mid 处开始查找。2)将折半查找中的求 mid 索引的公式 : (low 表示左边索引 left, high 表示右边索引 right;key 就是前面我们讲的findVal) 3)int mid = low + ( 阅读全文
posted @ 2020-11-02 16:53 白刃天使 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 线性查找 从第一个遍历判断到最后一个,查找到全部符合条件的值。(遍历数组找到就返回下标值(如果有多个可先存储)) 1. public class seqsearch { 2. public static void main(String[] args) { 3. int[] arr = {45, 2 阅读全文
posted @ 2020-11-02 16:41 白刃天使 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 堆排序基本介绍 1) 堆排序是利用堆(heap)这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为 O(nlogn),它也是不稳定排序。 堆排序的基本思想是: 1. 将待排序序列构造成一个大(小)顶堆 2. 此时,整个序列的最大(小)值就是堆顶的根节点。 3. 阅读全文
posted @ 2020-11-02 16:28 白刃天使 阅读(449) 评论(0) 推荐(0) 编辑