红黑树时间限制:3000ms | 内存限制:65535KB难度:3描写叙述什么是红黑树呢?顾名思义,跟枣树类似。红黑树是一种叶子是黑色果子是红色的树。。。当然,这个是我说的。。。《算法导论》上可不是这么说的:假设一个二叉查找树满足以下的红黑性质,那么则为一个红黑树。1)每一个节点或是红的,或者是黑的...
分类:
其他好文 时间:
2015-12-11 13:12:16
阅读次数:
150
最近在看MIT的算法导论,在网易公开课上有这门课的视频,正好讲义也在图书馆借到了,有在看的小伙伴可以一起加油。绪论中以插入排序为例,讲述了算法中非常重要的两个概念时间复杂度T(n)和空间复杂度。详细地对程序花费时间T。伪代码: INSERTION-SORT(A)1 for j←2 to length...
分类:
编程语言 时间:
2015-12-04 00:44:31
阅读次数:
157
本章的课后题看一下即可,比较平凡。 3.1渐近记号 引用一下别人的答案,非常感谢: 原文地址:http://www.cnblogs.com/timebug/archive/2010/03/25/1694286.html |概念回顾| 当输入规模大到使只有运行时间的增长量级有关时,就使在研究算法的渐进...
分类:
编程语言 时间:
2015-12-02 06:32:00
阅读次数:
1831
最近在看算法导论中文版,第一部分的基础知识里有许多数学上的知识,多重对数函数就是其中一个我不太熟悉的知识。多重对数函数的定义是:lg*n=min{i≥0:lg(i)n≤1}lg*2=1lg*4=2lg*16=3lg*65536=4lg*265536=5也就是说呢,lg(1)16=lg16=4lg(2...
分类:
其他好文 时间:
2015-11-29 09:25:48
阅读次数:
273
红黑树 (参看《算法导论》) 红黑树是一种平衡二叉树,巧妙地利用结点颜色来简化维护平衡的难度。具有如下性质: 1.红黑树上所有结点要么是红色的,要么是黑色的。 2.红黑树的根节点是黑色的。 3.如果一个结点是红色的,那么他的两个子结点必须是黑色的。 4.对于每一个结点,他左子树的黑...
分类:
其他好文 时间:
2015-11-28 23:13:33
阅读次数:
347
前言快被数据结构与算法碾成渣渣了,决定开始补补参考资料:算法导论(有MIT公开课-算法导论) 、Data Structures and Algorithms in Python、数据结构与算法插入排序(insertion-sort)插入排序的基本思想:每次将一个带排序的记录,按其关键字大小插入到前面...
分类:
编程语言 时间:
2015-11-26 20:55:00
阅读次数:
153
好长时间了,继续算法导论。 当输入规模足够大时,并不计算精确的运行时间,倍增常量和低阶项被舍去。我们要研究的是算法的渐近效率,即在输入规模无限量时,在极限中,算法的运行时间如何随着输入规模的变大而增加。通常,渐近的更有效的某个算法除对很小得到输入外都是最好的选择。 3.1渐近符号 用渐近符号来刻画算...
分类:
编程语言 时间:
2015-11-23 06:11:18
阅读次数:
155
1. 引言 在红黑树——算法导论(15)中学习了红黑树的原理。本来打算自己来试着实现一下,然而在看了JDK(1.8.0)TreeMap的源码后恍然发现原来它就是利用红黑树实现的(很惭愧学了Java这么久,也写过一些小项目,也使用过TreeMap无数次,但到现在才明白它的实现原理)。因此本着“不要重复...
分类:
其他好文 时间:
2015-11-12 23:39:36
阅读次数:
495
总结自《算法导论》一、数据结构定义二、操作1、查找2、插入3、删除一、B树是针对磁盘存储而设计的一种数据结构,在B树种一个node的大小一般就是一个磁盘页的大小,所以非常便于IO操作。针对某个特定的B树都会定义一个t值,表示的意思是:除了根节点之外的内部节点最多有2*t个孩子,最少有t个孩子,相应的...
分类:
数据库 时间:
2015-10-31 21:27:58
阅读次数:
205
本栏目(Algorithms)下MIT算法导论专题是个人对网易公开课MIT算法导论的学习心得与笔记。所有内容均来自MIT公开课Introduction to Algorithms中Charles E. Leiserson和Erik Demaine老师的讲解。(http://v.163.com/spe...
分类:
编程语言 时间:
2015-10-30 16:53:33
阅读次数:
232