![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基于Python的数据结构和算法
嘭嘭嘭飞
这个作者很懒,什么都没留下…
展开
-
散列表(字典)
文章目录问题散列函数应用案例将散列表用于查找防止重复将散列表用作缓存冲突性能装填因子良好的散列函数问题你在一家杂货店上班。有顾客来买东西时,你得在一个本子中查找价格。如果本子的内容不是按字母顺序排列的,你可能为查找苹果(apple)的价格而浏览每一行,这需要很长的时间。使用的是简单查找,需要浏览每一行。时间复杂度为O(n)O(n)O(n)。如果本子的内容是按字母顺序排列的,可使用二分查找来...原创 2020-01-16 15:54:11 · 526 阅读 · 0 评论 -
递归和快速排序
文章目录递归问题描述基线条件和递归条件栈调用栈递归调用栈小结快速排序示例1问题描述欧几里得算法使用D&C解决问题的两个步骤:示例2快速排序工作原理代码小结递归问题描述假设你在祖母的阁楼中翻箱倒柜,发现了一个上锁的神秘手提箱。祖母告诉你,钥匙很可能在下面这个盒子里,这个盒子里有盒子,而盒子里的盒子又有盒子。钥匙就在某个盒子中。为找到钥匙,你将使用什么算法?方法一:创建一个要查找的...原创 2020-01-14 17:22:10 · 195 阅读 · 0 评论 -
选择排序
文章目录内存的工作原理数组和链表读取插入删除选择排序问题:示例代码内存的工作原理计算机内存犹如一大堆抽屉,每个抽屉(内存单元)都有地址。将数据存储到内存时,你请求计算机提供存储空间,计算机给你一个存储地址。需要存储多项数据时,有两种基本方式——数组和链表。数组和链表数组的元素都在一起,即在内存中都是相连的。在同一个数组中,所有元素的类型都必须相同(都为int、double等)。链表的...原创 2020-01-13 20:50:52 · 138 阅读 · 0 评论 -
图论解决复杂路口红绿灯安排,python语言实现
文章目录问题描述说明性描述操作性描述图着色问题图着色算法算法精化和python描述算法细节处理:python实现讨论问题描述说明性描述说明性描述说明了需要解决的问题是什么,针对什么样的问题,期望什么样的解这是一个5条路的交叉口,其中两条是单行线。这个图本身已经是实际问题的抽象,与行驶方向无关的因素如道路方位、宽度、车流量等都已被抽象去除。要求设计红绿灯,按不同方向行驶的车辆不能相互冲突,...原创 2020-01-03 17:37:57 · 2567 阅读 · 1 评论 -
由二分查找算法学习算法的时间复杂度
二分查找二分查找是一种算法,其输入是一个有序的元素列表和要查找的元素。如果要查找的元素包含在列表中,二分查找返回其位置;否则返回null。数据函数形参:列表:xlist,要查找的值:item查找范围的索引:low ~ high要去的索引:mid,猜测的值:guess算法跟踪要查找的列表部分——开始时为整个列表每次都检查中间的元素xlist[mid]如果猜的数字小了,就相应地...原创 2020-01-02 21:34:18 · 637 阅读 · 0 评论 -
python函数实现求非负实数平方根,在shell里调用
编写python函数实现求非负实数平方根,在shell里调用算法牛顿迭代法描述如下:函数代码调用函数算法牛顿迭代法利用切线逼近曲线,求曲线零点,对于曲线 y=f(x)y = f(x)y=f(x),采用迭代的方法求其零点,在点(xn,f(xn))(x_n, f(x_n))(xn,f(xn))处曲线切线方程:y=f(xn)+f′(xn)(x−xn)y = f(x_n) + f'(x_n)(x...原创 2020-01-01 17:14:58 · 1104 阅读 · 0 评论