04 2018 档案
摘要:二叉树的遍历 所谓遍历是指对树中所有结点的信息的访问,即依次对树中每个结点访问一次且仅访问一次,我们把这种对所有节点的访问称为遍历(traversal)。 树的两种重要的遍历模式是深度优先遍历和广度优先遍历: 深度优先一般用递归 广度优先一般用队列 一般情况下能用递归实现的算法大部分也能用堆栈来实现
阅读全文
摘要:一、基本概念 二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree) 二、二叉树性质(特性) 1、在二叉树的第i层上至多有2^(i-1)个结点(i>0) 2、深度为k的二叉树至多有2^k - 1个结点(k>0) 3、对于
阅读全文
摘要:树与树算法 什么是树 树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 树的特点: 每个节点有
阅读全文
摘要:011题目 杨辉三角定义如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 问题:给出制定的值,输出直到该行的杨辉三角 流程分析: 1、找规律: 每一行的开头和结尾都是一个1 每行的中间的值都是前一行每个list[i]+list[i+1]的值 2、程序流程
阅读全文
摘要:010问题: 什么是水仙花数?水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)。 要求:打印输出所有的三位数"水仙花数"。 流程分析: 思路1: 1、设置范围:三位数的水仙花i,将i从100到999之间循
阅读全文
摘要:009 题目 如果a+b+c=1000,且a^2+b^2=c^2(a,b,c为自然数),如何求出所有a、b、c可能的组合? 流程分析: 1、先理清楚a,b,c的关系 a+b+c=1000 a^2+b^2=c^2 2、将c用a,b表示:c=1000-a-b,这样做的好处是:提高计算效率,不用再重新计算
阅读全文
摘要:008 问题: 要求利用递归函数调用的方式,将获取到所输入的5个字符,以相反顺序分别输出来。 流程分析: 1、将输入的五次的值保存在一个列表中 2、打印list[-1],并删除列表最后一个元素 3、加入递归条件:如果列表中的长度不是0,递归第2步,代入的第2步执行后的列表 代码分析: 流程分析: 1
阅读全文
摘要:007 问题: 简述:话说有一对可爱的兔子,出生后的第三个月开始,每一月都会生一对小兔子。 当小兔子长到第三个月后,也会每个月再生一对小小兔子. 问题:假设条件,兔子都不死的情况下,问每个月的兔子总数为多少? 流程分析: 由题意: 第1月:1对 第2月:1对 第3月:1对+新生的1对=2对 第4月:
阅读全文
摘要:说完常用的数据类型,再来说下运算符。运算符用于将各种类型的数据进行运算,让静态的数据跑起来。 编程语言中的运算大致分为以下几个大类: 算术运算, 用于加减乘除等数学运算 赋值运算,用于接收运算符或方法调用返回的结果 比较运算, 用于做大小或等值比较运算 逻辑运算,用于做 与、或、非运算 位运算, 用
阅读全文
摘要:set 1、集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成一个集合,就自动去重了 关系测试,测试两组数据之间的交集、差集和并集等关系 2、集合中的元素有三个特征: 1. 确定性(元素必须可hash) 2. 互异性(去重) 3. 无序性(集合中的元素没有先后之分),如集合
阅读全文
摘要:dict特性 字典一种key-value的数据类型,使用就像我们上学用的字典,通过笔划、字母来查找对应页的详细内容。特性: key-value结构 key必须可hash、且必须为不可变数据类型、必须唯一(创建时如果同一个键被赋值两次,后一个值会被记住) 可存放任意多个值、可修改、可以不唯一 无序 查
阅读全文
摘要:编程范式 编程:具体是指程序员用特定的语法+数据结构+算法编写代码,目的是用来告诉计算机如何执行任务 。 如果把编程的过程比喻为练习武功,那么编程范式指的就是武林中的各种流派,而在编程的世界里最常见的两大流派便是:面向过程与面向对象。 “功夫的流派没有高低之分,只有习武的人才有高低之分“,在编程世界
阅读全文
摘要:元组使用方法汇总 Python的元组和列表类似,不同之处在于元组中的元素不能修改(因此元组又称为只读列表),所以元组没有增、删、改的操作,且元组使用小括号而列表使用中括号,如下: 1、元组中只包含一个元素时 需要在元素后面添加逗号来消除歧义 2、元组中的元素值不允许修改 修改元组值报错 但是可以对元
阅读全文
摘要:字符串的分割与拼接 一、字符串分割 1.1、str.split(str="", num=string.count(str)) str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 num -- 分割次数。 1.2、str.splitlines([keepends])
阅读全文
摘要:一、什么是二分法? Python 的列表(list)内部实现是一个数组,也就是一个线性表。在列表中查找元素可以使用 list.index() 方法,其时间复杂度为O(n)。对于大数据量,则可以用二分查找进行优化。二分查找要求对象必须有序,其基本原理如下: 1.从数组的中间元素开始,如果中间元素正好是
阅读全文
摘要:005 题目如下: 1、给定一个num_list= [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93,
阅读全文
摘要:str替换 1、str.replace(old, new[, max]) old -- 将被替换的子字符串。 new -- 新字符串,用于替换old子字符串。 max -- 可选字符串, 替换不超过 max 次 replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如
阅读全文
摘要:str常见判断条件 一、str开头结尾判断 1、str.startwith(str, beg=0,end=len(string)) str -- 检测的字符串。 strbeg -- 可选参数用于设置字符串检测的起始位置。 strend -- 可选参数用于设置字符串检测的结束位置 如果检测到字符串则返
阅读全文
摘要:005 题目如下: 给定一个字符串,里边可能包含“()”、"{}"、“[]”三种括号,请编写程序检查该字符串的括号是否成对出现。输出: true:代表括号成对出现并且嵌套正确,或字符串无括号字符。 false:未正确使用括号字符。 流程分析: 如果了解数据结构,那么应该知道,简单的采用一个栈的特性,
阅读全文
摘要:004-- 用递归求解某数的阶乘 n的阶乘:n(n-1)(n-2)(n-3)****1 流程分析: 1、输入某个数字n,计算该数字的阶乘:n! 2、递归求阶乘函数,参数为n: 2.1、判断数字是否等于1,如果等于1 ,函数返回1 2.2、如果函数不返回1,则函数返回n*fun(n-1),以此递归 代
阅读全文
摘要:str(计数、编码修改、转换空格、查找、格式化) 1、str.count(sub, start= 0,end=len(string)) sub -- 搜索的子字符串 start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。 end -- 字符串中结束搜索的位置。字符中第一个字
阅读全文
摘要:str对齐方法 1、str.center(width,fullchar=None) 字符串内容居中,不足的长度用fullchar来代替 2、str.ljust(width,fullchar=None) 字符串内容左对齐,不足的长度用fullchar来代替 3、str.rjust(width,full
阅读全文
摘要:str的大小写方法: 1、str.capitalize(obj) 首字母转变成大写,如果首子母已经是大写则还是输出首字母大写结果 2、str.casefold()=str.lower() 字符串中所有内容,大写转小写 3、str.upper() 字符串中所有内容,小写转大写 4、str.title(
阅读全文
摘要:字符串的基础操作: 1、str1 + str2 将字符串连接 2、str * num 将字符串复制num次 3、str[index] 字符串的索引值 4、str[index:index:step] 切片操作 Mark on 2018.4.6
阅读全文
摘要:003-- 判断用户输入的某年月日是该年中的哪一天 闰年:整百的年,能被400整除的为闰年;非整百的年份,能被4整除的为闰年 当前日期为当年第几天 = 当前日期 - 去年最后一天的日期 流程分析--普通青年版: 1、定义months、days列表,分别将非闰年每个月天数、闰年每个月天数按照1-12月
阅读全文
摘要:list 赋值 1、list_new = list Case1. 更改原始列表,看复制的列表是否会变化? 根据例子说明,使用“=”赋值方法,原始数据的改变会引起复制的列表的变化 Case2. 更改复制后列表,看原始列表是否会变化? 根据例子说明,使用“=”赋值方法,复制后的数据的改变也会引起原始列表
阅读全文
摘要:list常见的用法 列表基础: 1、列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型。 2、列表中的每个元素都分配一个数字 - 它的位置参数,或索引,第一个索引是0,第二个索引是1,依此类推。 3、序列都可以进行的操作包括索引,切片,加,乘,
阅读全文
摘要:002-- 判断 101-200 之间有多少个素数,并输出所有素数。 定理:一个整数的最大公约数不会超过本身的平方根 素数:一个只能被1和本身整除的整数称之为素数,也就是质数。 分析流程: 1、定义一个空列表放置所有的素数 Primenum_list=[] 2、定义一个判断一个数是否为素数的函数--
阅读全文
摘要:分析流程: 1、定义一个空列表 2、分别依次输入三个数字 input方法 3、将三个数字依次加入空列表中 list.append(obj)方法 4、将列表进行排序并输出 sorted(iterable,key=None,reverse=False)方法 代码如下: 题目反思: 1、判定输入三次,使用
阅读全文
摘要:python常见的数据类型 <!--StartFragment--> <!--StartFragment--> 序号 数据类型 定义 格式(举例) 是否可变 是否有序 1 Number (数字) Python 3 支持 int、float、bool、complex(复数)。 1,11,22 不可变
阅读全文

浙公网安备 33010602011771号