摘要: 阅读目录 详细内容见裘宗燕<<数据结构与算法>>和<<算法导论>> 第一章 绪论 第二章 抽象数据类型和python类 第三章 线性表 第四章 字符串 第五章 栈和队列 第六章 二叉树和树 第七章 字典和集合 第八章 排序 第九章 算法 阅读全文
posted @ 2019-08-21 19:19 walle_zhao 阅读(658) 评论(0) 推荐(0) 编辑
摘要: 问题:将十进制转化成k进制 分析:使用除余法,先将该数除于k将得到的余数作为第一位,然后再用得到的商除于k,将得到的余数作为第二位,依次类推,直到商为0结束。 阅读全文
posted @ 2019-10-18 03:31 walle_zhao 阅读(1152) 评论(0) 推荐(0) 编辑
摘要: 问题:将k进制a转化成十进制b。 例如:'1101'是2进制,转成成十进制是1*23+1*22+0*2+1*20=8+4+0+1=13 分析:如果有字母的话,代表是十进制以上。先把字母转化成相对应的数字。 然后再进行计算,一种朴素的方法是直接乘方,进行计算。 def get_ten_num(k, a 阅读全文
posted @ 2019-10-18 01:27 walle_zhao 阅读(1181) 评论(0) 推荐(0) 编辑
摘要: 问题:求xn+xn-1xn-2+...+x0的值。 第一种是比较素朴直接的算法。 @get_time def sum_power(x, n): """ 朴素直接的算法,例如x=5,n=5的时候。一共做了5次加法,1+2+3+4=10次乘法。 :param x: :param n: :return: 阅读全文
posted @ 2019-10-17 23:45 walle_zhao 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 问题1:编写一个程序计算s=a+aa+aaa+aaaa+...+aa..aa(例如2+22+222+2222+22222)的值,其中a属于正整数且a<=9,要求输入数字n和相加的数的个数m def get_sum(n, m): res = 0 while m > 0: res += int('1' 阅读全文
posted @ 2019-10-17 23:16 walle_zhao 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 问题:求解x²-2=0(x>0)的近似解算法 算法分析:利用二分法来求。基本思想是:把函数f(x)的零点区间[a,b]“一分为二”(也就是满足f(a)*f(b)<0),这样就得到[a,m]和[m,b],然后再判断f(a)*f(m)<0是否成立,取出零点所在的区间[a,m]或[m,b],然后重复上述步 阅读全文
posted @ 2019-10-17 22:19 walle_zhao 阅读(1395) 评论(0) 推荐(0) 编辑
摘要: 问题1:计算一个数的阶乘,也是一个全排列的问题。 比如:将数字1,2,3按照不同元素排成一列,总共有多少种排法? 3*2*1=6。也就是数字3的阶乘。 那么怎么用程序来实现呢? def factorial(num): """ 递归算法 :param num: :return: """ if num 阅读全文
posted @ 2019-10-16 18:49 walle_zhao 阅读(887) 评论(0) 推荐(0) 编辑
摘要: 题目1:计算0-100的所有的素数。 素数:素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 很容易得出下面的代码 def get_prime(n): res = [] for i in range(2, n): for j in range(2, i): if i % j = 阅读全文
posted @ 2019-10-15 20:34 walle_zhao 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 目录 一、创建型设计模式 二、结构型设计模式 三、行为型设计模式 一、创建型设计模式 1、简单工厂模式 内容: 不直接向高层类暴露对象创建的实现细节,而是通过一个工厂类来负责创建产品类的实例。 角色: 工厂角色(Creator) 抽象产品角色(Product) 具体产品角色(Concrete Pro 阅读全文
posted @ 2019-09-14 23:08 walle_zhao 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 目录 一、开放封闭原则 二、里式替换原则 三、依赖倒置原则 四、接口隔离原则 五、单一职责原则 一、开放封闭原则 概念理解 开放封闭原则是指在进行面向对象设计中,设计类或者程序应该遵循两点:对扩展开放和对修改关闭。这样,一个模块在实现的过程中,就可以在不修改原来的模块(修改关闭)基础上,扩展器功能( 阅读全文
posted @ 2019-09-14 20:48 walle_zhao 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 目录 一、引言 一、引言 小说家和剧本作家很少从头开始设计剧情,他们都是沿袭一些业已存在的模式。同样,面向对象的设计人员也需要沿袭一些模式,这样,就能很快找到解决问题的合适方法了。 1、什么是设计模式 设计模式的每一个模式都描述了一个在我们周围不断重发发生的问题,以及该问题的解决方案的核心。这样,你 阅读全文
posted @ 2019-09-10 11:46 walle_zhao 阅读(177) 评论(0) 推荐(0) 编辑