摘要:
###1.分治算法介绍 分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变 阅读全文
posted @ 2021-07-27 14:35
whn051799
阅读(443)
评论(0)
推荐(0)
摘要:
###1.二分查找算法(非递归)介绍 前面我们讲过了二分查找算法,是使用递归的方式,下面我们讲解二分查找算法的非递归方式 二分查找法只适用于从有序的数列中进行查找(比如数字和字母等),将数列排序后再进行查找 二分查找法的运行时间为对数时间 O(㏒₂n) ,即查找到需要的目标位置最多只需要㏒₂n 步, 阅读全文
posted @ 2021-07-27 14:30
whn051799
阅读(298)
评论(0)
推荐(0)
摘要:
图遍历介绍: 所谓图的遍历,即是对结点的访问。一个图有那么多个结点,如何遍历这些结点,需要特定策略,一般有两种访问策略: (1)深度优先遍历 (2)广度优先遍历 ###1.图的深度优先遍历介绍 ####1.1.深度优先遍历基本思想 图的深度优先搜索(Depth First Search) 深度优先遍 阅读全文
posted @ 2021-07-27 14:26
whn051799
阅读(639)
评论(0)
推荐(0)
摘要:
###1.为什么要有图 前面我们学了线性表和树 线性表局限于一个直接前驱和一个直接后继的关系 树也只能有一个直接前驱也就是父节点 当我们需要 表示多对多的关系时, 这里我们就用到了图 ###2.图的举例说明 图是一种数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。 结点也可以 阅读全文
posted @ 2021-07-27 14:08
whn051799
阅读(70)
评论(0)
推荐(0)
摘要:
###1. B 树的介绍 B-tree 树即 B 树,B 即 Balanced,平衡的意思。有人把 B-tree 翻译成 B-树,容易让人产生误解。会以为 B-树是一种树,而 B 树又是另一种树。实际上,B-tree 就是指的 B 树。 前面已经介绍了 2-3 树和 2-3-4 树,他们就是 B 树 阅读全文
posted @ 2021-07-27 11:51
whn051799
阅读(180)
评论(0)
推荐(0)
摘要:
###1. 2-3 树是最简单的 B 树结构, 具有如下特点: 2-3 树的所有叶子节点都在同一层.(只要是 B 树都满足这个条件) 有两个子节点的节点叫二节点,二节点要么没有子节点,要么有两个子节点 有三个子节点的节点叫三节点,三节点要么没有子节点,要么有三个子节点 2-3 树是由二节点和三节点构 阅读全文
posted @ 2021-07-27 11:44
whn051799
阅读(73)
评论(0)
推荐(0)
摘要:
###1.二叉树的问题分析 二叉树的操作效率较高,但是也存在问题, 请看下面的二叉树 二叉树需要加载到内存的,如果二叉树的节点少,没有什么问题,但是如果二叉树的节点很多(比如 1 亿), 就存在如下问题: 问题 1:在构建二叉树时,需要多次进行 i/o 操作(海量数据存在数据库或文件中),节点海量, 阅读全文
posted @ 2021-07-27 11:37
whn051799
阅读(69)
评论(0)
推荐(0)
摘要:
###1.看一个案例(说明二叉排序树可能的问题) 给你一个数列{1,2,3,4,5,6},要求创建一颗二叉排序树(BST), 并分析问题所在 左边 BST 存在的问题分析: 左子树全部为空,从形式上看,更像一个单链表. 插入速度没有影响 查询速度明显降低(因为需要依次比较), 不能发挥 BST的优势 阅读全文
posted @ 2021-07-27 11:29
whn051799
阅读(319)
评论(0)
推荐(0)
摘要:
###1.先看一个需求 给你一个数列 (7, 3, 10, 12, 5, 1, 9),要求能够高效的完成对数据的查询和添加 ###2.解决方案分析 使用数组 数组未排序, 优点:直接在数组尾添加,速度快。 缺点:查找速度慢 数组排序,优点:可以使用二分查找,查找速度快,缺点:为了保证数组有序,在添加 阅读全文
posted @ 2021-07-27 11:14
whn051799
阅读(162)
评论(0)
推荐(0)
摘要:
###1. 基本介绍 赫夫曼编码也翻译为 哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式, 属于一种程序算法 赫夫曼编码是赫哈夫曼树在电讯通信中的经典的应用之一 赫夫曼编码广泛地用于数据文件压缩。其压缩率通常在 20%~90%之间 赫夫曼码是可变字长编码(VLC)的一种。 阅读全文
posted @ 2021-07-27 10:56
whn051799
阅读(216)
评论(0)
推荐(0)
浙公网安备 33010602011771号