摘要: 二叉树的遍历 所谓遍历是指对树中所有结点的信息的访问,即依次对树中每个结点访问一次且仅访问一次,我们把这种对所有节点的访问称为遍历(traversal)。 树的两种重要的遍历模式是深度优先遍历和广度优先遍历: 深度优先一般用递归 广度优先一般用队列 一般情况下能用递归实现的算法大部分也能用堆栈来实现 阅读全文
posted @ 2018-04-14 15:26 JunSheep 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念 二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree) 二、二叉树性质(特性) 1、在二叉树的第i层上至多有2^(i-1)个结点(i>0) 2、深度为k的二叉树至多有2^k - 1个结点(k>0) 3、对于 阅读全文
posted @ 2018-04-14 15:13 JunSheep 阅读(726) 评论(0) 推荐(0) 编辑
摘要: 树与树算法 什么是树 树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 树的特点: 每个节点有 阅读全文
posted @ 2018-04-14 15:03 JunSheep 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 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、程序流程 阅读全文
posted @ 2018-04-13 15:20 JunSheep 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 010问题: 什么是水仙花数?水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)。 要求:打印输出所有的三位数"水仙花数"。 流程分析: 思路1: 1、设置范围:三位数的水仙花i,将i从100到999之间循 阅读全文
posted @ 2018-04-13 14:58 JunSheep 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 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,这样做的好处是:提高计算效率,不用再重新计算 阅读全文
posted @ 2018-04-13 14:36 JunSheep 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 008 问题: 要求利用递归函数调用的方式,将获取到所输入的5个字符,以相反顺序分别输出来。 流程分析: 1、将输入的五次的值保存在一个列表中 2、打印list[-1],并删除列表最后一个元素 3、加入递归条件:如果列表中的长度不是0,递归第2步,代入的第2步执行后的列表 代码分析: 流程分析: 1 阅读全文
posted @ 2018-04-13 14:27 JunSheep 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 007 问题: 简述:话说有一对可爱的兔子,出生后的第三个月开始,每一月都会生一对小兔子。 当小兔子长到第三个月后,也会每个月再生一对小小兔子. 问题:假设条件,兔子都不死的情况下,问每个月的兔子总数为多少? 流程分析: 由题意: 第1月:1对 第2月:1对 第3月:1对+新生的1对=2对 第4月: 阅读全文
posted @ 2018-04-13 14:17 JunSheep 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 说完常用的数据类型,再来说下运算符。运算符用于将各种类型的数据进行运算,让静态的数据跑起来。 编程语言中的运算大致分为以下几个大类: 算术运算, 用于加减乘除等数学运算 赋值运算,用于接收运算符或方法调用返回的结果 比较运算, 用于做大小或等值比较运算 逻辑运算,用于做 与、或、非运算 位运算, 用 阅读全文
posted @ 2018-04-13 14:01 JunSheep 阅读(177) 评论(0) 推荐(1) 编辑
摘要: set 1、集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成一个集合,就自动去重了 关系测试,测试两组数据之间的交集、差集和并集等关系 2、集合中的元素有三个特征: 1. 确定性(元素必须可hash) 2. 互异性(去重) 3. 无序性(集合中的元素没有先后之分),如集合 阅读全文
posted @ 2018-04-13 11:44 JunSheep 阅读(256) 评论(0) 推荐(1) 编辑