坡201910170018307
坡201910170018307
全部文章
数据结构
acm(6)
cpp(2)
java(12)
javascript(3)
linux(2)
office软件(2)
python(21)
操作系统(5)
数据库(4)
未归档(4)
调试(7)
闲谈(3)
归档
标签
去牛客网
登录
/
注册
田东坡的个人博客
软件开发、信息安全、算法
全部文章
/ 数据结构
(共17篇)
B树、B-树、B+树、B*树
B树 具体讲解之前,有一点,再次强调下:B-树,即为B树。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译,很容易让人产生误解。如人们可能会以为B-树是一种树,而B树又是一种一种树。而事实上是,B-tree就是指的B树。特此说明。 我们...
2021-01-20
0
605
c++排序part1: 冒泡、选择、插入排序
1.冒泡排序: 正所谓人如其名,冒泡排序正是使用了“冒泡”的方法对元素进行了排序。 它的算法思想就是在每次遍历的时候从头到尾比较相邻的两个元素大小,将较小的元素“冒”到前面来,把最大的元素移向队尾,使得元素变得有序。 我们把已经排好序的区域称为有序区,相对应的便是没排好顺序的无序区了...
2021-01-20
0
733
c++排序part2:堆排序、快速排序、归并排序
4.堆排序 在介绍堆排序之前,还得说一说堆的概念。 相关博文的链接传送门: [C++]数据结构:最大堆MaxHeap的创建与使用 简单来说,最大堆就是一个从上而下的每一层都满足从大到小顺序的完全二叉树。 那么最简单的堆排序就是每次取出堆顶元素,并且保持剩下的元素依旧构成一个...
2021-01-20
0
673
c++排序part3:箱子排序、基数排序、排序比较
7.箱子排序 说明一点,箱排序实用价值不大,在此仅适用于作为基数排序的一个中间步骤,所以有必要介绍一下。 我们先来看一个场景需求: 数据库中存储了学生的姓名年龄和成绩,要求将学生按照成绩排序。如果是前面的几种简单排序,所需要花费的时间均为N方,所以介绍一种更快的排序算法:箱子排序。 ...
2021-01-20
0
752
十大编程算法
算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比 较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部...
2021-01-20
1
513
二叉树遍历
树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。 二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大...
2021-01-20
0
342
二叉树的深度优先遍历和广度优先遍历
深度优先搜索算法(Depth First Search),是搜索算法的一种。是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。 当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。 如果还存在未被发现的节点,则选择其中一个...
2021-01-20
0
710
树和图的遍历
(一)用栈前序遍历树 对这篇文章的来源性说明:理论和代码来源,《系统设计师教程》(王春森主编),文章内容来自我对书中代码的分析和手工注释。 ( 本文献给小师妹:littlehead(我是大好人)) 名词:栈,遍历,前序遍历,树。 (1)准备:树的定义...
2021-01-20
0
438
图解数据结构(1)——大圈表示法、动态数组和单向链表
《数据结构》这门课是计算机专业的核心课程,但往往却让人头痛,因为比较抽象,当然了,也许你足够聪明,并不觉得它有多难,但对我而言,是有点难度,后来我仔细想了想,到底哪里难?我得出这么个结论:长篇大论,缺乏图表。现在的人都喜欢看电影,看电视剧,很少人还热衷于看小说吧,密密麻麻的文字不如一些图来得直观。 ...
2021-01-20
0
374
图解数据结构(2)——栈
图解数据结构(2)——栈 四、栈(Stack) 前一篇讲解了最基本的东西,这篇就稍微前进一点点,讲一下栈,栈在英文中叫Stack,翻译成中文又叫“堆栈”,但决不能称为“堆”,这个要搞清楚,我们说的“栈”和“堆栈”指的都是Stack这种数据结构,但“堆”却是另外一个概念了,这里且不...
2021-01-20
0
660
首页
上一页
1
2
下一页
末页