![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
且行且安~
擅长路径规划、车间调度、港口调度、排班调度等OR优化领域以及机器学习及数分领域,合作需求请见推广栏,请备注来意,不然不通过!
展开
-
基本排序算法【1】--冒泡、选择、插入排序
算法关键点:有序区 无序区1、冒泡排序 bubble sort 可以说是最简单的一种排序算法了,它的思想如下。对一个数组进行 n-1 轮迭代,每次比较相邻两个元素, 如果相邻的元素前者大于后者,就交换它们。因为直接在元素上操作而不是返回新的数组,所以是一个 inplace 的操作。 这里冒泡的意思其实就是每一轮冒泡一个最大的元素就会通过不断比较和交换相邻元素使它转移到最...原创 2018-09-08 13:18:46 · 165 阅读 · 0 评论 -
高级排序算法【2】--快速排序、归并排序、堆排序
4、快速排序从数列中挑出一个元素,称为基准; 重新排列数列,所有元素比基准小的摆放在基准前面,所有元素比基准大的摆在基准后面; 在这个分区结束之后,该基准就位于数列的中间位置; 递归地对基准左右两边的数列进行排序。快速排序代码——第一步def quick_sort(data, left, right): if left < right: mid...原创 2018-09-12 19:15:10 · 273 阅读 · 0 评论 -
python数据结构与算法--二分查找
前言:查找可以说是我们代码里用得比较多的操作,比如我们经常需要在一个列表里找到我们需要的一个元素,然后返回它的位置。 其实哈希表就是非常高效率的查找数据结构,很明显地它是用空间换时间。这一节介绍两个基本的基于线性结构的查找。不过在讲二分查找之前,我们先谈谈算法的时间复杂度和空间复杂度1、复杂度1.1时间复杂度 1)时间复杂度是用来估计算法运行时间的一个式子(单位)。...原创 2018-09-07 12:10:02 · 439 阅读 · 0 评论 -
Python中数据结构中的集合与字典
1、是否有序的问题 注意:这里的有序和无序不是指集合中的排序,而是是否按照元素添加的顺序来存储对象。1)list(列表)是按照元素的添加顺序来存储对象的,因此是有序的。2)tupple(元组)与列表类似,不同之处在于元组里的元素不能被修改。 [注]空元组可以用没有包含内容的圆括号来表示;只一个值,必须加 个逗号 (,);元组的元素不能被修改,但可以对元组进 行连...原创 2018-09-19 23:32:37 · 425 阅读 · 0 评论