随笔分类 - 数据结构及算法
程序的精髓,必须搞起来
摘要:前言 前面几篇分享了插入排序和交换排序,接下来说说选择排序~~~ 选择排序(Selection sort):每一趟在待排序元素中选取元素值最小(或最大)的元素加入有序子序列。即在一堆数据中,每次挑出最小的或最大的放入其他有序序列中,当选择完所有待排序数据时,排序就完成了。 选择排序有两种:简单选择排
阅读全文
摘要:前言 上次分享的冒泡排序虽然比较简单、容易理解,但每一次冒泡的过程都需要依次比较相邻的元素,然后交换,可见性能还是有很大的优化空间,只要能减少比较次数,性能自然就上去啦;快速排序便是一个很不错的选择~~~ 正文 1.1 快速排序算法思想 **快速排序(Quicksort)**是对上一次分享的冒泡排序
阅读全文
摘要:前言 冒泡排序应该是很多小伙伴的最爱,简单、直接、好理解;回顾以往参与和阅读的项目,凡是牵涉自定义排序的算法,很大一部分都在用冒泡,其中很多都忽略了一个关键点;来,咱们细细品... 正文 1. 冒泡排序算法思想 **冒泡排序(Bubble Sort)**是属于交换排序的一种,顾名思义,就是一个元素,
阅读全文
摘要:前言 上一篇在聊时间复杂度和空间复杂度时,没有按指定格式显示(明明预览的时候没问题的),强迫症的我稍微优化了一下重新发布,目的就是让小伙伴看着舒服。 上次聊到的直接插入排序在比较有序数据和待插入数据时,是通过依次遍历的方式进行比较,当数据量比较大时,得考虑进一步优化;折半插入排序就是通过减少有序数据
阅读全文
摘要:前言 程序=数据结构+算法,好的算法能让程序更高效的运行;在当今数据信息时代,数据分析和数据处理肯定是避免不了,而算法便成为了很多公司门槛级的要求,特别是大厂; 赶紧搞起来,说不定离进大厂就只差一步呢(算法)~~~ 算法简介 算法是一组完成任务的指令,任何代码片段都可视为算法。如下: 1. 算法五大
阅读全文