数据结构
文章平均质量分 51
掰棒子的熊
这个作者很懒,什么都没留下…
展开
-
彻底搞懂插入排序
插入排序插入排序可以分为两种:一是直接插入排序,二是希尔排序。接下来主要说的直接插入排序算法思想它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增 1 的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。算法实现直接插入排序是将无序序列中的数据插入到有序的序列中,在遍历无序序列时,首先拿无序序列中的首元素去与有序序列中的每一个元素比较并插入到合适的位置,一直到无序序列中的所有元素插完为止。对原创 2021-06-08 09:17:46 · 176 阅读 · 1 评论 -
排序算法分析及实现
简单选择排序1 理解选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。2. 算法思想算法思想:选择排序,从头至尾扫描序列,找出最小的一个元素,和第一个元素交换,接着从剩下的元素中继续这种选择和交换方式,最终得到一个有序序列。3.算法过程在进行选择排序过程中分成有序和无序两个部分,开始都是无序序列原始序列:4 10 9 8 1第一轮排序:默认数组中首元素为最小值,并用minin原创 2021-06-06 16:39:36 · 157 阅读 · 0 评论 -
彻底弄懂冒泡排序
冒泡排序冒泡排序属于交换排序的一种排序的算法,除此之外,快速排序也属于交换排序。冒泡排序是一种稳定的排序算法。1 原理比较相邻的两个元素,将值大的元素交换到右边。即第一趟先比较第1个和第2个数,大数在后,小数在前,再比较第2个数与第3个数,大数在后,小数在前,以此类推则将最大的数"滚动"到最后一个位置;以下面5个无序的数据为例:40 8 15 18 12第一趟排序: 第一次比较: 40 和 8比较: 8 40 15 18 12 第二次比较: 40 和 15比较:8 15 40 18 12原创 2021-06-06 10:02:52 · 180 阅读 · 0 评论 -
八皇后(递归+回溯)
数据结构——八皇后题目介绍八皇后问题是一个古老而又著名的问题,是学习回溯算法的一个经典案例。今天我们就一起来探究一下吧!时间退回到1848年,国际西洋棋棋手马克斯·贝瑟尔提出了这样的一个问题,在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问一共有多少种摆法。大数学家高斯认为一共有76种摆法,1854年在柏林的象棋杂志上不同的作者发表了共计40种不同的见解,后来还有人利用图论的方法得出共有92种摆法。而如今,通过我们的计算机以及编程语言原创 2021-05-16 20:10:39 · 365 阅读 · 0 评论