
算法之路
文章平均质量分 89
Haley_Wong
做一颗闪亮的哈雷彗星,照耀自己的小星系。
展开
-
算法之路(一)----求最大子序列
算法在用户量比较少,或者计算量比较小的时候,影响确实不大,但是到达一定数量级的时候,算法的优劣就会极大的影响程序的顺畅程度。优秀的算法甚至能给人amazing的感觉。今天记录《数据结构与算法分析------C语言描述》中的一个求最大子序列的问题。原创 2016-06-24 16:46:23 · 894 阅读 · 0 评论 -
算法之路(二)呈现O(logN)型的三个算法
典型时间复杂度我们知道算法的执行效率,可以从它的时间复杂度来推算出一二。而典型的时间复杂度有哪些类型呢? 除了常数时间复杂度外,logN型的算法效率是最高的。原创 2016-07-11 09:17:10 · 7273 阅读 · 1 评论 -
算法之路(三)----查找斐波纳契数列中第 N 个数
算法题目 查找斐波纳契数列中第 N 个数。 所谓的斐波纳契数列是指: * 前2个数是 0 和 1 。 * 第 i 个数是第 i-1 个数和第i-2 个数的和。 斐波纳契数列的前10个数字是: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 …分析斐波那契数列满足公式f(n) = f(n-1) + f(n-2),n > 0。这里我们的第一想法原创 2016-11-02 11:10:07 · 2027 阅读 · 0 评论 -
算法之路(四)----汉诺塔(又称河内之塔)
汉诺塔是很简单也很经典的算法之一。 汉诺塔是根据一个传说形成的数学问题: 有三根杆子A,B,C 。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆: * 1 每次只能移动一个圆盘; * 2 大盘不能叠在小盘上面。提示:可将圆盘临时置于B杆,也可以将A杆移除的圆盘重新移动回A杆,但都必须遵循上述两条规则。 问:如何移?最少要移动多少次?原创 2017-03-13 14:25:28 · 5350 阅读 · 0 评论 -
二叉树
1.什么是二叉树?二叉树(Binary Tree)是 n(n ≥ 0)个结点点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。2.二叉树的特点每个结点最多有两棵子树,所以二叉树中不存在度大于2的结点。注意不是只有两棵子树,而是最多有。没有子树或者由一颗子树都是可以的。左子树和右子树是有顺序的,次序不能任意颠倒...原创 2019-02-15 20:17:22 · 351 阅读 · 0 评论