数据结构
文章平均质量分 86
数据结构的一些基础内容,基于CPP实现
窝法氦镁烷
这个作者很懒,什么都没留下…
展开
-
Trie树 -- 高效的字典树
Trie树即"字典树",是一种从字符串集合中快速匹配另一个字符串集合的算法.原创 2019-04-26 16:40:18 · 1922 阅读 · 0 评论 -
树状数组--快速计算动态前缀和
树状数组是一个快速求取数组前缀和的方法,相比线段树还是要简单很多的原创 2019-02-20 00:36:17 · 2360 阅读 · 0 评论 -
KMP算法——字符串快速匹配
快速匹配模式串,KMP YES!原创 2019-02-17 21:04:18 · 2653 阅读 · 0 评论 -
最简单的树——遍历二叉树
地球人都会的二叉树原创 2018-09-24 16:39:39 · 1622 阅读 · 0 评论 -
栈、队列及循环队列
栈,队列及循环队列,是数据结构中的重要的且常用的内容,最近在学习数据结构,于是作一篇笔记记录一下,希望以后复习有帮助 1.栈: 栈是限定仅在表尾进行插入或删除操作的线性表。我们把表尾称作栈顶(top),相应的,表头称作栈底(bottom),由栈的特性可知,栈是一种后进先出(LIFO)的线性表,下面对栈的建立、基本操作及注意事项做一个说明: 上图详细的勾勒出了栈的四...原创 2018-07-21 22:18:37 · 4293 阅读 · 0 评论 -
单链表,循环链表,双链表及其基本操作(C++实现)
最近在学习严蔚敏教授的《数据结构》,有一些感想,在这里写下来,留做笔记,希望能对以后学习有所帮助。 我们知道,线性表就是n个数据元素的有限序列,它有两种实现方式,其一为顺序表,即数组+伪指针的方式实现,另一为链表,采用的是指针的方式实现。由于顺序表的知识偏向基础且其应用灵活性不高,故在此不再介绍,本文主要说明几种常用的链表是如何实现的以及其基本操作。1.单链表: 单...原创 2018-07-16 15:17:09 · 8306 阅读 · 1 评论 -
神奇的搜索--广度优先搜索
广度优先搜索入门首先让我们回忆一下,深度优先搜索是个什么东西.上面这张图想必大家都不陌生,这张图虽然简单,但是说明了DFS和BFS的本质区别:按什么方式遍历一个图(为了方便叙述,上图实际是一棵树),DFS按深度优先的方式,BFS则是层序遍历,下面让我们看一个具体例子:问题DFS解法若采用DFS,规定移动方向为顺时针方向右 -> 下 -> 左 -> 上,则搜索最...原创 2018-12-02 12:08:19 · 329 阅读 · 0 评论 -
超简单的数据结构--并查集!
我从未见过这么简单的数据结构!原创 2018-11-07 21:46:09 · 803 阅读 · 1 评论 -
神奇的搜索--深度优先搜索
写这篇文章也是在讲课的时候临危受命,因此只能写一点是一点,今天先把深度优先搜索写了,下次有时间再补一下广度优先搜索首先,什么是深度优先?什么是广度优先?所谓深度优先,是指在一棵搜索树上(抽象的树)沿着某条路径一直往下搜索,直到不能再进行,才更换搜索路径,并一直往下搜索至无法搜索为止,有点"不撞南墙不回头"的意思,依次执行直到遍历整个搜索树或者是搜索到结果则退出,可以类比二叉树的先序遍历过程...原创 2018-11-02 15:16:06 · 898 阅读 · 0 评论 -
Huffman树和Huffman编码
最近感觉自己课业有所懈怠啊,稍微放下数据结构去搞别的方向的学习,结果专业课就超过我写的博客的进度了,简直恐怖.一定要好好反思一下了,那么今天就写一点,哈夫曼树和哈夫曼编码的相关知识吧首先介绍一下编码格式: Huffman编码是一种前缀编码,即,任意字符的编码都不是其余字符编码的前缀串.如果我们对a,b,c,d分别编码为0,1,10,11,则它是不等长编码,但不是前缀编码,如果编码为00,01,...原创 2018-11-01 19:11:11 · 1604 阅读 · 0 评论 -
浅谈排序——冒泡、桶排序、快速排序、选择排序
听说互联网公司面试喜欢考排序?RBQ,RBQ...原创 2018-09-24 23:07:37 · 1237 阅读 · 0 评论 -
邻接表和邻接矩阵
进入图论的大门(深渊)之前,不会存图可不行,来来来,邻接表和邻接矩阵拿去花原创 2018-09-19 16:20:31 · 13689 阅读 · 1 评论