2016年2月23日

摘要: 红黑树是上一章二叉搜索树的改进,实现一种平衡 ,保证不会出现二叉树变链表的情况,基本动态集合操作的时间复杂度为O(lgn) 实际用途:c++stl中的set,map是用他实现的 红黑树的性质: 1.每个结点或是红色的,或是黑色的 2.跟结点是黑色的 3.每个叶结点(NIL)是黑色 4.如果一个结点是红色的,则它的两个结点都是黑色的 5.对每个结点,从该结点到其所有后代叶结点的简单路径... 阅读全文
posted @ 2016-02-23 10:50 兰格 阅读(391) 评论(0) 推荐(0) 编辑

2016年2月14日

摘要: 上图: 这是二叉搜索树(也有说是查找树的)基本结构:如果y是x的左子树中的一个结点,那么y.key <= x.key(如a图中的6根结点大于它左子树的每一个结点 6 >= {2,5,5}),如果y是x的右子树中的一个结点,那么y.key >x.key 注:不同堆,堆是中间的结点最大或最小,而二叉搜索 阅读全文
posted @ 2016-02-14 10:45 兰格 阅读(227) 评论(0) 推荐(0) 编辑

2016年2月12日

摘要: 更多的理论细节可以用《数据结构》严蔚敏 看几遍,数据结构很重要是实现算法的很大一部分 下面主要谈谈python怎么实现 10.1 栈和队列 栈:后进先出LIFO 队列:先进先出FIFO python 中使用list实现在这些功能 栈:压栈 append() 退栈 pop() 队列: 入队 appen 阅读全文
posted @ 2016-02-12 09:55 兰格 阅读(211) 评论(0) 推荐(0) 编辑

2016年2月6日

摘要: 第i个顺序统计量:该集合中第i小的元素(建集合排序后第i位 当然算法可以不排序) 中位数:集合中的中点元素 下中位数 上中位数 9.1最大值和最小值 单独的max或min每个都要扫一遍 n-1次比较 如果同时找max和min 要 :1.2个数相互比较 1次{每次选出2个 选n//2次} 2.大的和m 阅读全文
posted @ 2016-02-06 11:01 兰格 阅读(362) 评论(0) 推荐(0) 编辑

2016年2月5日

摘要: 比较排序:各元素的次序依赖于它们之间的比较{插入排序O(n**2) 归并排序O(nlgn) 堆排序O(nlgn)快速排序O(n**2)平均O(nlgn)} 本章主要介绍几个线性时间排序:(运算排序非比较排序)计数排序O(k+n)基数排序O() 第一节:用决策树分析比较排序的下界 决策树:倒数第二层满,第一层可能满的二叉树,它用来表示所有元素的比较操作{于此来分析下界},忽略控制,移动操作 ... 阅读全文
posted @ 2016-02-05 11:47 兰格 阅读(435) 评论(0) 推荐(0) 编辑

2016年2月2日

摘要: 用的最多的排序 平均性能:O(nlogn){随机化nlogn} 原地址排序 稳定性:不稳定 思想:分治 (切分左右) 学习方式:自己在纸上走一遍 def PARTITION(A,p,r): x = A[r] # 锚点 主元{大于它放一边,小于的放另一边} i = p - 1 for j in range(p,r): if A[j] ... 阅读全文
posted @ 2016-02-02 10:25 兰格 阅读(474) 评论(0) 推荐(0) 编辑

2016年2月1日

摘要: 优先队列: 物理结构: 顺序表(典型的是数组){python用到list} 逻辑结构:似完全二叉树 使用的特点是:动态的排序。。排序的元素会增加,减少#和快速排序对比 快速一次排完 增加元素要重排(或许是插入) 随插随排 每次拿一个最大(最大(优先队列/堆))或最小 关键注意... 阅读全文
posted @ 2016-02-01 10:05 兰格 阅读(231) 评论(0) 推荐(0) 编辑

2016年1月31日

摘要: 6.1堆 卫星数据:一个带排序的的数通常是有一个称为记录的数据集组成的,每一个记录有一个关键字key,记录的其他数据称为卫星数据。 原地排序:在排序输入数组时,只有常数个元素被存放到数组以外的空间中去。 在第二章介绍了两种排序:插入排序和合并排序,接下来两章要介绍的是推排序和快速排序,这四个排序都属于比较排序(comparison sort)。 快速排序的性能一般优先于堆排序 二叉堆是一... 阅读全文
posted @ 2016-01-31 15:43 兰格 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 第三章 渐进的基本O().... 常用函数 % 和 // 转换 斯特林近似公式 斐波那契数 第四章 分治策略:分解(递归)--解决(递归触底)--合并 求解递归式的3种方法: 1:代入法(替代法):猜测一个(靠经验)--数学归纳法 ·2:递归树法:画树p31【第3版中文】p51->递归式--证明 3:主方法: 快速,有些地方不能涉及,递归式不... 阅读全文
posted @ 2016-01-31 15:26 兰格 阅读(167) 评论(0) 推荐(0) 编辑

2016年1月22日

摘要: 算法导论第一章算法 输入--(算法)-->输出解决的问题 识别DNA(排序,最长公共子序列,) # 确定一部分用法 互联网快速访问索引 电子商务(数值算法and数论) 交通图。。。(图论,旅行社问题) 拓扑排序 #第二章2.1插入排序 #p11 伪代码预定留意一下 #(算法导论 第3... 阅读全文
posted @ 2016-01-22 14:50 兰格 阅读(255) 评论(0) 推荐(0) 编辑

导航