摘要:在未排序的序列中,构建子序列,直至全部排完 将待排数,插入已经排序的合适的位置 增加哨兵,放入待比较的值,和以排序的序列比较,找到合的插入点 [1, 1, 2, 3, 4, 5, 6, 7, 8, 9] 36 8 inster_sort(*[1,9,8,5,6,7,4,3,2]) [2, 1, 2,
阅读全文
摘要:编写函数,接受一个n,n为正整数,左右两种打印方式。要求数字必须对齐 12 11 10 9 8 7 6 5 4 3 2 1 11 10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 7 6 5 4 3
阅读全文
摘要:简单选择排序 属于选择排序 两两比较,找到极值(极大或极小)放置到固定位置,一般是某一端 结果分为升序和降序排列 简单选择排序 二元选择排序 二元选择排序的思路 从左和右同时固定最大值和最小值,优化思路是在发现最大最小值相等时,停止交换 要注意在交换了最大值后,最小值如果记录在之前最大值储存的位置时
阅读全文
摘要:返回1-10的平方的列表 列表lst=[1,4,9,16,2,5,10,15],生成新列表,要求新列表元素是lst相邻两项的和 打印99乘法表 使用了列表 一个列表解析式搞定,返回的列表为全是None的列表 "0001.asdklkglwk"是ID格式,要求生成左边整数,右边10位随机小写英文字母,
阅读全文
摘要:随机产生2组各10个数字的列表,要求 取值范围[10,20], 统计20个数字中,多少不同的数字 2组比较,不重复的数字几个,分别是 重复的数字几个,分别是 以下方法为先开辟列表,再对应的数字的位置计数,不使用集合和字典 使用比较后在相应的计数列表内相应位置加一,计算出数字出现的次数。
阅读全文
摘要:1、打印用户输入的数字,打印每一位数字,及其重复的次数 2、数字重复的统计,随机产生100个整数,范围在[-1000,1000],升序打印这些数字和其重复次数 使用sorted函数排序,字典的缺省值添加使用d.get(i,0)或者d.setdefault(i,0) 也可以使用工厂化函数创建缺省字典,
阅读全文
摘要:转置方阵 对角线的一半与另一半交换位置 转置矩阵 将以上for循环写成列表解析式 解析式的输出为
阅读全文
摘要:杨辉三角 形如以下为杨辉三角 杨辉三角有很多性质,我们用以下两种简单的性质来用python实现。 1第n行的数字有n项。 2每个数等于它上方两数之和. n=6 trangle = [[1]] for i in range(1,n): pre=trangle[i-1] cur=[1] trangle.
阅读全文
摘要:求质数 另一种方法 比较以上两种算法的时间 求质数,使用列表,所有合数都是质数的乘积,将所有质数加入列表,通过列表检测,注意边界! 检测到开平方处。原理类似于加法的一半在中间,乘法的中间在开方处,一旦超过,就是重复测试。 这是计算质数,用奇数测试的方法,不用列表 质数有一条特性,质数在大于3后,所有
阅读全文
摘要:猴子吃桃问题 猴子吃桃问题,猴子摘了一堆桃子,第一天吃了一半多一个,第二天又是剩下的一半加一个,一直到第十天早上,发现只剩下一个了,求开始摘了几个? 猴子吃到第十天早上时,剩一个,表示第九天已经吃完只剩一个,倒着算回去 斐波那契数列: for实现
阅读全文
摘要:三元表示法 以上的前四行和最后一行表示相同的意义 输入三个数,比较大小,分支实现,速度最快,但不可扩展 引入一个列表判断大小,另一种方式,算法与上一种相同 不推荐的算法比大小 代码量最小的算法。。。推荐
阅读全文
摘要:分支嵌套要注意减少判断次数 这样判断如果是一位数,要判断五次 而如下 只需要判断最多三次,数据量变大时,十分重要。 循环次数要减少,减小时间复杂度,不断地优化 输出100内的奇数的和,以上要循环100次 以上只要循环50次
阅读全文