随笔分类 - 数据结构和算法
摘要:本文参考资料:书籍《大话数据结构》,微信公众号:码农有道。 希尔排序算法介绍 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 简单插入排序很循规蹈矩,不管数组分布是怎么样的,依然一步
阅读全文
摘要:直接插入排序法介绍 直接插入排序(Straight Insertion Sort)的基本操作是:将一个元素插入到已经排好序的有序表中。比如有n个待排序的元素,把第一个元素当作有序表的第一个元素,后面的n-1个元素表示未排序的元素,排序过程中每次从未排序的元素中取出第一个元素,将它插入到有序表中的适当
阅读全文
摘要:本文参考资料:书籍《大话数据结构》,微信公众号:码农有道。 选择排序介绍 选择排序是一种简单的排序算法,它的基本原理是:将一个未排序的数列中的元素依次进行比较,把最大或最小值放在第一位,然后再将剩下的未排序的数列元素进行比较,最小值或最大值放在第二个位置;以此类推,直到数列中的元素按照一定的方式拍好
阅读全文
摘要:本文参考资料:书籍《大话数据结构》,微信公公共号“码农有道” 冒泡排序介绍 冒泡排序一种简单的交换排序算法。它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之后,最大的元素就在数列的末尾! 采用相同的方法再次遍历时,
阅读全文
摘要:线性表的定义 在生活中其实处处可见线性表的例子。比如一个班级的小朋友,一个跟着一个排着队,有一个打头,有一个收尾,当中的小朋友 每一个都知道他前面一个是谁,他后面一个是谁,这样如同有一根线把他们串联起来 了。 就可以称之为线性表。 所以线性表的定义为:零个或多个数据元素的有限序列。 首先它是一个序列
阅读全文