![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 88
数据结构与算法
oLengNuanZiZhi12
这个作者很懒,什么都没留下…
展开
-
数据结构与算法之多路查找树
多路查找树1>二叉树与 B 树1.1、二叉树存在的问题1.2、多叉树的基本介绍1.3、B 树的基本介绍1.4、2-3 树基本介绍1.4.1、2-3 应用案例1.4.2、其他说明1.5、B树的介绍1.6、B+ 树的介绍1.7、B* 树的介绍1>二叉树与 B 树1.1、二叉树存在的问题二叉树的操作效率较高,但是也存在问题, 请看下面的二叉树二叉树需要加载到内存的,如果二叉树的节点少,没有什么问题,但是如果二叉树的节点很多(比如1亿), 就存在如下问题:问题1:在构建二叉树时,需要多次进原创 2021-03-09 16:43:14 · 92 阅读 · 0 评论 -
数据结构与算法之树结构实际应用
树结构实际应用1>堆排序1.1、堆排序基本介绍1.2、堆排序基本思想1.3、堆排序步骤图解说明1.3.1、构造大顶堆1.3.2、丢弃堆顶元素1.3.3、重操旧业1.4、堆排序代码实现2、赫夫曼树2.1、赫夫曼树基本介绍2.2、赫夫曼树重要概念2.3、赫夫曼树创建思路图解2.4、赫夫曼树代码实现3>赫夫曼编码3.1、赫夫曼编码基本介绍3.2、定长编码与变长编码3.2.1、定长编码3.2.2、变长编码3.3、赫夫曼编码原理剖析3.4、赫夫曼编码思路3.5、赫夫曼编码算法3.5.1、赫夫曼节点定义3.原创 2021-03-08 16:44:01 · 267 阅读 · 0 评论 -
数据结构与算法之树结构基础
树结构基础1>二叉树1.1、为什么需要二叉树1.1.1、数组存储方式的分析1.1.2、链式存储方式的分析1.1.3、树存储方式的分析1.2、树的常用术语1.3、二叉树的概念1.4、二叉树的遍历1.4.1、代码思路1.4.2、前 中 后序遍历1.4.3、代码测试1.4.4、总结1.5、二叉树的查找1.5.1、代码思路1.5.2、代码实现1.6、二叉树的删除1.6.1、二叉树删除的要求1.6.2、代码思路1.6.3、二叉树的递归删除1.7、课后练习2>顺序二叉树2.1、顺序存储二叉树的概念2.1.1原创 2021-02-20 11:47:17 · 79 阅读 · 1 评论 -
数据结构与算法之哈希表
哈希表1>Google上机题2>哈希表基本介绍3>代码实现1>Google上机题看一个实际需求, google 公司的一个上机题:有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id, 性别, 年龄, 住址…),当输入该员工的 id 时,要求查找到该员工的所有信息要求:不使用数据库,尽量节省内存,速度越快越好 => 哈希表(散列)2>哈希表基本介绍散列表(Hash table, 也叫哈希表) ,是根据关键码值(Key value)而直接进行访问原创 2021-02-19 18:55:03 · 75 阅读 · 0 评论 -
数据结构与算法之查找算法
查找算法1>查找算法介绍1.1、查找算法的简介2>线性查找2.1、代码实现3>二分查找3.1、二分查找思路3.2、代码实现4>插值查找4.1、插值查找基本介绍4.2、插值查找图解4.3、代码实现4.3、总结5>斐波那契查找5.1、斐波那契数列5.2、斐波那契查找介绍5.3、斐波那契查找思路5.4、代码实现1>查找算法介绍1.1、查找算法的简介顺序(线性)查找二分查找/折半查找插值查找斐波那契查找2>线性查找遍历数组,找到相同数字就返回索引值原创 2021-02-19 18:32:04 · 88 阅读 · 0 评论 -
数据结构之排序算法
排序算法1>排序算法介绍1.1、排序算法的简介1.2、排序算法的分类2>算法的复杂度2.1、时间复杂度的度量方法2.2、时间频度2.3、时间复杂度2.4、常见的时间复杂度2.4.1、常见时间复杂度概述2.4.2、常数阶 O(1)2.4.3、对数阶 O(log2n)2.4.4、线性阶 O(n)2.4.5、线性对数阶 O(nlogN)2.4.6、平方阶 O(n²)2.4.7、其他阶2.5、平均和最坏时间复杂度2.6、算法的空间复杂度3>冒泡排序3.1、基本介绍3.2、代码实现4>选择排序原创 2021-02-19 17:13:30 · 117 阅读 · 1 评论 -
数据结构与算法之递归
递归1>递归介绍1.1、递归应用场景1.2、递归的概念1.3、递归调用机制1.4、递归能解决什么问题1.5、递归需遵循的规则2>递归-迷宫问题2.1、代码思路2.2、代码实现3>递归-八皇后问题1>递归介绍1.1、递归应用场景看个实际应用场景, 迷宫问题(回溯), 递归(Recursion)1.2、递归的概念简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。1.3、递归调用机制打印问题阶原创 2021-02-19 10:59:25 · 37 阅读 · 0 评论 -
数据结构与算法之栈
栈1>栈的基本介绍1.1、栈的实际需求1.2、栈的基本性质1.3、栈的应用场景2>数组模拟栈2.1、代码思路2.2、代码实现2.3>课后作业3>栈实现综合计算器(中缀表达式)3.1、代码思路3.2、代码实现4>前缀 中缀 后缀表达式4.1、前缀表达式(波兰表达式)4.1.1、前缀表达式4.1.2、前缀表达式的计算机求值4.2、中缀表达式4.3、后缀表达式4.3.1、后缀表达式4.3.2、后缀表达式的计算机求值5>逆波兰计算器5.1、计算器说明5.2、代码思路5.3、代码实原创 2021-02-13 21:56:09 · 888 阅读 · 0 评论 -
数据结构与算法之链表
链表1>链表介绍1.1、内存结构1.2、逻辑结构1.3、链表特点2>单链表的应用2.1、水浒英雄榜2.2、链表节点定义链表的操作2.4、思路分析2.4.1、1>链表介绍1.1、内存结构内存上来看:链表存储空间不连续(不像数组)1.2、逻辑结构逻辑上来看:链表属于线性结构1.3、链表特点链表是以节点的方式来存储,是链式存储data 域存放数据,next 域指向下一个节点链表分带头节点的链表和没有头节点的链表, 根据实际的需求来确定2>单链表的应用2.1、原创 2021-02-08 12:07:40 · 79 阅读 · 0 评论 -
数据结构与算法之稀疏数组和队列
稀疏数组和队列1>稀疏数组1.1、实际需求1.2、稀疏数组处理方法1.3、实际应用代码实现2>队列2.1、实际需求2.2、队列介绍2.3、数组顺序队列2.3.1、思路分析2.3.2、代码实现2.4、数组循环队列2.4.1、提出问题2.4.2、思路分析2.4.3、代码实现1>稀疏数组1.1、实际需求编写的五子棋程序中,有存盘退出和续上盘的功能因为该二维数组的很多值是默认值 0,因此记录了很多没有意义的数据,我们将其转为稀疏数组进行存储1.2、稀疏数组处理方法稀疏数组把具有不原创 2021-02-04 14:59:16 · 81 阅读 · 0 评论