数据结构
文章平均质量分 69
As you will
这个作者很懒,什么都没留下…
展开
-
前缀、中缀、后缀表达式
一、表达式转换 1、前缀表达式又称前缀记法或者波兰式,它的运算符位于操作数之前,便于机器查看。例如:+ 3 4 (3+4) 2、中缀表达式是最常用的一种表达式,它的运算符位于操作数中间,便于人为观察或操作。例如:3 + 4 (3+4) 3、后缀表达式又称逆波兰式,它的运算符位于操作数之后。例如:3 4 + (3+4) 4、中缀到后缀表达式的转换: 例如:X = A+ B * (原创 2017-08-22 21:47:21 · 698 阅读 · 0 评论 -
排序方法稳定性总结
一、关于常见排序算法稳定性的问题 排序算法的稳定性,简单地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果A1 = A2,序列中A1在A2位置前,排序后A1还是要在A2位置前,那么这个算法就算稳定。(1)冒泡排序冒泡排序就是把小的元素往前调或者把大的元素往后沉。比较是相邻的两个元素比较,交换也发生在这两原创 2017-08-31 00:00:08 · 588 阅读 · 0 评论 -
基数排序
一、基数排序1、基数排序又叫桶排序,借助多关键字排序的思想对单逻辑关键字进行排序。2、基本思想: (1)用0~9作为下标分别记录的个位、十位、百位...0~9的数字,首先对应个位将数据入桶。 (2)保证先进先出将数据重新排列,然后相同的方法看十位数字将数据入桶。 (3)重新排列,依次比较。3、排列的趟数等于最大数的位数4、代码如下:#include#incl原创 2017-08-29 23:09:37 · 186 阅读 · 0 评论 -
归并排序
一、归并排序1、基本思想:(1)分:使用二分法将n个记录看成是n个有序的子序列,每个子序列的长度为1。 (2)合:两两归并,直到得到一个长度为n的有序序列为止。2、核心操作:将一维数组中前后相邻的两个有序序列归并为一个有序序列。3、代码如下:#includevoid Merge(int arr[], int tmp[], int原创 2017-08-28 22:53:05 · 214 阅读 · 0 评论 -
冒泡排序法
一、冒泡法 1、基本思想:用关键字从剩余所有元素第一个开始依次进行比较,每一趟找出序列最大的元素沉在最后,重复操 作。若遇到逆序进行位置交换,接着用较大值进行后面的比较过程。 2、举例: 将arr[5]={5,2,9,6,4,1}用冒泡法进行排序 (1)第一趟:用arr[0]=5和其余元素依次进行比较。 5 > 2,二者位原创 2017-08-26 23:48:35 · 486 阅读 · 1 评论 -
选择排序之堆排序
一、选择排序 1、堆的定义:堆实际上是一棵完全二叉树,完全二叉树中所有非终端结点的值均不大于(或小于)其左、右子结点 的值。 只需要一个记录大小的辅助空间,每个待排序的记录仅占有一个存储空间。 2、大根堆:父结点的数据大于每一个子结点。 3、小根堆:每一个子结点的数据均大于父结点 4、父子结点转化:父结点: i 左右子树: j 父结点找子结点:——> 左子原创 2017-08-25 21:08:10 · 191 阅读 · 0 评论 -
选择排序之简单选择
一、选择排序 1、简单选择排序:一趟排序中找到最小的数,放在第一位;二趟排序中找到剩下数中最小的数,放在第二位...依次类推到第n-1位, 第n个元素不用选择了,因为只有它一个数字了,那么它就是最大的元素了。 2、稳定性:不稳定 3、思想说明:例如:将1 5 6 3 2 利用简单选择法进行排序。 (1)第一趟:用1和其他元素依次进行比较,其他原创 2017-08-23 19:08:20 · 329 阅读 · 0 评论 -
内部排序思想、直接插入排序法
一、排序思想 1、排序:排列顺序,把一组数据元素的任意序列重新排列成一组按关键字排列的有序序列。 2、排序的分类: (1)存储位置:内部排序 数据在内存中排序,数据量较小。 外部排序 部分排序,数据量太大。 (2)排序算法(逻辑): 插入排序、选择排序、交换排序、归并排序、计数排序。 (3)排序结果:升序、降序。 3、排序整体思原创 2017-08-20 21:16:52 · 282 阅读 · 0 评论 -
插入排序之希尔排序
一、希尔排序 1、希尔排序:又称“缩小增量排序”,时间复杂度和空间复杂度和增量有关。 2、基本思想:先将整个待排记录序列分割成若干子序列分别进行直接插入排序。待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。 3、时间复杂度:O(n^2),但是,如果待排记录序列为正序时 ,时间复杂度为O(n)。 4、子序列:不是简单的“逐段分割”,而是将相隔某个“增量”的记录组成原创 2017-08-20 22:44:36 · 193 阅读 · 0 评论 -
MySQL存储引擎
一、MySQL常用存储引擎:存储引擎:MySQL操作文件的子系统,是基于表的,不是基于数据库的。 MySQL:插件式存储引擎数据库二、分类:1、InnoDB存储引擎(1)InnoDB存储引擎是windows默认的,提供具有提交、回滚和崩溃回复能力的事务安全。支持事务、DLTP:事务联机处理;不支持全文索引、支持行锁:通过索引查询时才支持行锁,非索引列查询时支持表锁(所以说支持行锁不...原创 2018-07-18 12:57:12 · 264 阅读 · 0 评论