算法
文章平均质量分 62
时空-大海水
喜欢c++,喜欢一起研究
展开
-
《数据结构与算法分析》笔记1 准备知识
最近在看Mark Allen Weiss的《数据结构与算法分析》C语言描述版本,为了以后复习,将概要信息记录下来。多项式和:1+2+3+4+5+...+n=n(1+n)/2定义:如果存在正常数c和n0使得当N>=n0时T(N)<=cf(N),则记为T(N) = O(f(N))。(代表T(N)的增长率<=f(N)的增长率)定义:如果存在正常数c和n0使得当N>=n0时T(N)...原创 2018-03-25 16:46:59 · 296 阅读 · 0 评论 -
《数据结构与算法分析》笔记2 运行时间中的对数
这里说的对数都是指以2为底的对数。如果一个算法用常数时间将问题的大小消减为原来的1/2,则这个算法就是O(logN)的。常见的O(logN)算法举例:对分查找、欧几里得算法、幂运算。欧几里得求两个数的最大公因数unsigned int Gcd(unsigned int M, unsigned int N){ using int Rem; while(N>0) { ...原创 2018-03-25 16:57:26 · 252 阅读 · 0 评论 -
《数据结构与算法分析》笔记3 树的基本概念
树是节点的集合,这集合可以为空;若非空,则一棵树由根节点r以及0个或多个非空的(子)树组成,这些子树中欧每一颗的根都被来自根r的一条有向的边所连接。树叶是没有子节点的节点。节点的深度是从根到该节点唯一路径的长。根节点的深度为0。节点的高是从该节点到一片树叶的最长路径的长。任意树叶的高为0。树的高等于它最深的树叶的深度。...原创 2018-03-25 17:27:32 · 250 阅读 · 0 评论 -
《数据结构与算法分析》笔记4 二叉查找树
二叉树:任意节点最多有2个子节点的树。二叉查找树:对于任意节点X,它的左子树中的所有关键字的值(节点中存的值)小于X的关键字的值,而它的右子树中的所有关键字值都大于X的关键字的值。二叉查找树的平均深度为O(logN)。insert:从根节点依次查找所要插入节点的正确位置。delete:使用被删除节点的右子树中最小的节点代替该节点,递归实现这一过程。二叉查找树的基本操作的平均运行时间都是O(logN...原创 2018-03-25 17:39:12 · 220 阅读 · 0 评论 -
《数据结构与算法分析》笔记5 AVL树
AVL树:带有平衡条件的二叉树。是每个节点的左右子树的高度最多差1的二叉查找树。为了使其保持平衡,需要在插入或删除节点时做单旋转或双旋转。假设,在插入或删除操作之后,节点a已经变得不平衡,那么如果导致不平衡的动作是:对a的左儿子的左子树进行一次插入,或者是,对a的右儿子的右子树进行一次插入,则需要进行一次单旋转;对a的左儿子的右子树进行一次插入,或者是,对a的右儿子的左子树进行一次插入,则需要进行...原创 2018-04-10 22:35:44 · 315 阅读 · 0 评论