数据结构
文章平均质量分 77
Hi_zkr
和大家一起学习,一起分享。
展开
-
数据结构之串的基本操作的实现(c语言)
我们先一起来看串的一些概念… 字符串(简称串),可以将其看作是种特殊的线性表,其特殊性在于线性表的数据元素的类型总是字符性,字符串的数据对象约束为字符集。串是由0个或多个字符组成的有限序列。一般记作:s = “s1 s2 s3 …. sn”,,其中,s是串名,用双引号括起来的字符序列称为串的值,si(11.串的定义:串是由零个或多个组成的有序队列。 2.串的长度:串中字符的数目称为串原创 2018-01-21 17:01:26 · 25444 阅读 · 0 评论 -
数据结构之字符串匹配算法(BF算法和KMP算法)
字符串匹配算法: 就是给定两个串,主串(s)和子串(sub), 查找子串是否在主串里面,如果找到便返回子串在主串中第一个元素的位置下标,否贼返回-1,。 在这里我 们讨论的时候主要用字符串来举例实现。 总共有两个算法,分别为BF算法和它的优化算法KMP算法。 首先我们来讲一下BF算法,BF 算 法 即 朴 素 算 法 :它 的 实 现 方 式 是 这 样 的 , 假 定 我 们 给 出 字 ...原创 2018-01-22 12:32:19 · 4326 阅读 · 3 评论 -
数据结构之排序1(直接插入,冒泡,希尔,选择)
排序,应该可以说在数据结构中占很重要的位置,我们常用的排序算法,可以分为两组: 一种是比较排序,主要有:冒泡排序,选择排序,直接插入排序,归并排序,堆排序,快速排序,希尔排序。 另一种是非比较排序,主要有:计数排序,基数排序,桶排序等。 今天我写的是自己对于冒泡排序,选择排序,直接插入排序,希尔排序四个排序算法的浅见。 排序算法,因为是算法,很多同学会觉得很绕,理不清思路,其实没有很难理...原创 2018-01-23 18:29:37 · 327 阅读 · 2 评论 -
数据结构之排序2(快速排序及其优化)
前面写了四个简单的排序算法,学习的时候也觉得很好理解,没有难度,可是,到快速排序我差点被打败,还好本宝挺了过来,现在觉得快排及其优化还是相当简单了,可能当时学习的时候不在状态吧!所以,现在的你是否也被快排倒的脑子一团糟,没关系,跟我的思路一起往下走。。。 一.快速排序的基本思想 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这...原创 2018-03-10 19:58:22 · 220 阅读 · 0 评论 -
数据结构之哈弗曼树与哈弗曼编码
一.哈弗曼树和哈弗曼编码先知 哈弗曼树是二叉树中一种特殊的树,也被称为最优二叉树。其通过某种规则(权值)来构造出一哈夫曼二叉树,在这个二叉树中,只有叶子节点才是有效的数据节点,其他的非叶子节点是为了构造出哈夫曼而引入的!哈夫曼编码是通过哈夫曼树进行的一种编码,一般情况下,以字符‘0’与‘1’表示。编码的实现过程很简单,只要实现哈夫曼树,通过遍历哈夫曼树,规定向左子树遍历一个节点编码为“0”,...原创 2018-03-11 13:21:13 · 1080 阅读 · 0 评论