
数据结构与算法
文章平均质量分 72
幸福清风
专注python语言
展开
-
4*4矩阵转换成二维平面坐标
Matrix4的转化为二维平面坐标系的方法原创 2022-07-13 14:26:06 · 2458 阅读 · 0 评论 -
数组排序(冒泡、排序)
目前对于数组的排序有主要的两种,一种是选择排序,一种是冒泡排序。当然大学学过数据结构的知道,还有一些其他的排序,这里就不说明了,有时间自己上网查查。其实排序在开发中并不常用, 我们学习它是学一种思想,以后的业务逻辑中可能会用到,可能会有相似的逻辑或者培养了我们这种思想,我们今后可以举一反三。不要为了题目而题目,说了一些题外话,不好意思,言归正传。 (1)选择排序(从小到大)原创 2017-09-17 12:20:56 · 747 阅读 · 0 评论 -
Python算法题----在列表中找到和为s的两个数字
列表data的值为[1, 3, 4, 5, 8, 9, 11],找出这个列表中和为13的两个数字的所有组合。这个好找,上过幼儿园大班的,估计都能找出来。4+9=13, 5+8=13。如何用python写一个函数来实现呢。解法一:超级大循环最容易想到的就是遍历啊。嵌套循环,外层循环遍历全部列表,内层循环遍历当前元素位置之后的所有元素。内层循环中将两个数字相加,等于13就break。妥妥找到。...原创 2018-03-10 19:43:28 · 2888 阅读 · 0 评论 -
有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和
原题:有一序列a,大小为n,分为2部分,序列元素的值任意整形数,无序;要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小,用python写。解题思路一:1.列表合并排序,设两个空列表2.最大值添加第一个列表3.比较两个列表差,循环放入最小列表中代码如下(Python2.7.5):list1=[1,21,3,14]原创 2017-11-24 19:38:05 · 3936 阅读 · 8 评论 -
排序:插入排序与希尔排序
插入排序插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。插入排序分析def insert_sort(alist): # 从第二个位置,即下标为原创 2017-11-16 23:10:40 · 353 阅读 · 0 评论 -
排序:冒泡排序与选择排序
冒泡排序冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序算法的运作如下:比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。对每一原创 2017-11-16 23:07:23 · 403 阅读 · 0 评论 -
两个栈实现队列与两个队列实现栈
1. 两个栈实现队列实现一思路 s1是入栈的,s2是出栈的。入队列,直接压到s1是就行了出队列,先把s1中的元素全部出栈压入到s2中,弹出s2中的栈顶元素;再把s2的所有元素全部压回s1中实现二思路 s1是入栈的,s2是出栈的。保证所有元素都在一个栈里面入队列时:如果s1为空,把s2中所有的元素倒出压到s1中;原创 2017-11-16 23:03:45 · 393 阅读 · 0 评论 -
python基本知识、数据库、网络、编程等总结
Python语言特性1 Python的函数参数传递看两个例子:a = 1def fun(a): a = 2fun(a)print a # 1a = []def fun(a): a.append(1)fun(a)print a # [1]所有的变量都可以理解是内存中一个对象的“引用”,或者,也可以看似c中void*的感觉。原创 2017-11-29 23:29:35 · 2218 阅读 · 0 评论 -
数据结构中的队列
生活中很多时候需要排队来维持秩序,如等公交、取票、办理银行业务等。队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出的(First In First Out)的线性表,简称FIFO。允许插入的一端为队尾,允许删除的一端为队头。队列不允许在中间部位进行操作!假设队列是q=(a1,a2,……,an),那么a1就是队头元素,而an是队尾元素。这样我们原创 2017-11-15 12:43:08 · 300 阅读 · 0 评论 -
数据结构中的栈
整理衣服时,先放冬天的衣服,后放夏天的衣服,这样夏天的衣服就在上面,方便夏季取用。栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。原创 2017-11-15 12:37:01 · 804 阅读 · 0 评论 -
排序:快速排序与归并排序
快速排序快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。步骤为:从数列中挑出一个元素,称为"基准"(pivot),重新排序数列原创 2017-11-19 13:21:29 · 396 阅读 · 0 评论 -
数据结构顺序表基本流程
生活中很多事物是有顺序关系的,如班级座位从前到后是按排的顺序,从左到右是按列的顺序,可以很方便的定位到某一个位置,但如果座位是散乱的,就很难定位。在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。对于这种需求,最简单的解决方案便是将这样一组元素看成一个序原创 2017-11-13 21:59:19 · 4353 阅读 · 0 评论 -
数据算法与结构基本知识
数据结构与算法作用没有看过数据结构和算法,有时面对问题可能会没有任何思路,不知如何下手去解决;大部分时间可能解决了问题,可是对程序运行的效率和开销没有意识,性能低下;有时会借助别人开发的利器暂时解决了问题,可是遇到性能瓶颈的时候,又不知该如何进行针对性的优化。计算机界著名公式,由瑞士计算机科学家尼克劳斯·威茨(Niklaus Wirth)提出,也因此获得图灵奖。程序 = 数据结构原创 2017-11-12 11:23:07 · 549 阅读 · 0 评论