摘要:
具体想法 这段时间通过是使用Windows的番茄盒子,效果不错,但是发现其中有些反面还是有些不足。 数据展示阶段太丑,用的库不好 导出的数组为分为三个时间段,原本相连的内容就分开了,让人不舒服。 为了以后自己能够对这些记录的数据做更好的数据展示优化,我决定自己先对数据进行处理,然后导入数据库库。 遇 阅读全文
摘要:
冒泡排序思想 一样可能需要一副扑克牌。 场景0:现有数组$[2,5,3,1,4]$,求这个数组的从小到大排序后数组表现。 解答方式:类似插入排序,只不过相对来说冒泡的表现更差但也更容易理解。同样分为两个数组,左边的数组为原数组$[2,5,3,1,4]\(,右边的数组为\)[]\(,也就是空数组,但也 阅读全文
摘要:
选择排序 与冒泡类似,时间复杂度也是相同,但其中关键点在于记住索引。 场景0:现有数组$[2,5,3,1,4]$,求这个数组的从小到大排序后数组表现。 解决思路:依次确保第n个位置所在元素是前n个元素中最大的即可。 2 < 5, 最大值为5,索引值为1。 5 > 3, 5 > 1, 5 > 4。最大 阅读全文
摘要:
归并排序 归并排序的核心思想是分而治之(Devide And Conquer)。将大问题拆分成子问题,分别对子问题进行求解之后,并将所有的子问题的解合并之后即可。有以下三个解题步骤。分解,解决,合并。 分解。单独一个数肯定是有序的,因此要分解的子问题目的就是分解成一个只含有一个数的数组。第一次分解为 阅读全文
摘要:
快速排序 同样采用了分治的思想,但是不同于归并中分解时出现的大小相等的子数组,快速排序分解出来的两个数组长度不一样相等。但在合并过程中也是类似的,同样是有序的数组的合并,不同的是不再是两个子数组之间的排序,而是两数组内部的重排。 快速排序的核心是在数组中任意选定一个值作为标志位x,小于标志的的数组元 阅读全文
摘要:
插入排序思想 建议手上有一副扑克牌,会更加好理解。 场景0 :现在有一个数组$[2,5,3,1,4]$,需要按照从小到大的顺序依次排列。 解决方法:明确--只有一个数的数组只有一种排序方式。所以此时可以假定,这个数组分为了两部分,其中一部分时排序为$[2]\(的子数组,此子数组满足从小到大排序的的要 阅读全文