摘要: 12.312.3 1 //12.3-1 2 TREE-INSERT(T,z) 3 if root[T]=NIL 4 root[t]=z 5 return; 6 x=root[T] 7 if key(z)<key[x] 8 TREE-INSERT(left[T],z) // here left[T] is a pointer to a tree, for we may modify the content of the tree 9 else10 TREE-INSERT(right[T],z)11 1... 阅读全文
posted @ 2012-11-29 10:38 海阔天空男儿当自强 阅读(786) 评论(1) 推荐(0) 编辑
摘要: 查找树search tree: 一种数据结构,支持多种动态集合操作。search, minimum, maximum, predecessor, successor, insert, delete等可以用作字典,也可以用作优先队列binary search tree中,执行基本操作的时间和树的高度成正比。随机构造的n节点bst,最坏情况运行时间是O(lg n)但如果树是n结点的线性链,这些操作的最坏情况运行时间是O(n)bst的问题:如何保证随机构造?或者,某些变种能使得最坏情况性能仍然不错?(红黑树)bst基本性质:设x是bst的某结点。则 key[LeftChild[x]]<=key 阅读全文
posted @ 2012-11-28 17:35 海阔天空男儿当自强 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 1、对于x1,x2,...xn的中位数即各xi的带权中位数,此处权值wi=1/n, i=1,2....n 此时x1,x2...xn的中位数为xk,k=┗(n+1)/2┛.则x1,x2...x(k-1)的权值和为┗(n-1)/2┛/n<=(n-1)/2n<1/22、通过排序,在O(nlgn)的最坏情况时间内求出n个元素的带权中位数 先用堆排序(按xi的增序)。设排序后的数组为x1,x2...xn. 再用一个数组zw[1,2...n]: zw[1]=w[1] for i=2->n zw[i]=w[i]+w[i-1] if(zw[n]-zw[i]<=1/2) resultpo 阅读全文
posted @ 2012-11-20 17:42 海阔天空男儿当自强 阅读(1309) 评论(0) 推荐(0) 编辑
摘要: 排序算法分类:分类方法一:简单排序(包括冒泡、插入、直接插入等),分治排序(快速、归并等)分类二:插入排序类(直接插入、shell排序)交换排序类(冒泡、快速)选择排序(直接选择、堆排序、选择书归并)分配排序(桶排序、基数排序、索引排序)1、直接插入排序原地算法最差时间复杂度O(n2)(原序列为逆序)平均时间复杂度O(n2)最佳时间复杂度O(n)(原序列是顺序)对于短序列,直接插入排序比较有效可以实现稳定排序2、shell排序(缩小增量排序法)利用了插入排序的两个优点(正序列排序时间O(n);对短序列较为有效)效率比直接插入排序高。增量序列需要考虑。如果增量每次除以2递减,效果不佳。(原因:增 阅读全文
posted @ 2012-11-20 16:59 海阔天空男儿当自强 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 物理内存管理:页式,段式,段页式。大的原理都是相同的:通过分片,减少碎片,提高空间利用率页式现在用的最广泛。内碎片少,方便管理。段式和段页式由于需要编程人员的介入(如何分段),以及管理繁琐,用的不多。虚拟内存:很重要的管理方法。 阅读全文
posted @ 2012-11-20 00:31 海阔天空男儿当自强 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 今天学习《算法导论》 chapter9,查找数组中min:数组中元素个数为n,需要比较n-1次才能找出最小值。从比较次数来看,已经是最优的同时找出min和max:最多需要3┌ n/2┐次比较找到n个元素中的次小元素:最坏情况下,需要n+┌ lgn ┐-2次比较。需要有一个链表保存和最小值比较过的值。找到n个元素中第i小的元素:1、平均情况下,线性时间 利用了RANDOMIZED_PARTITION算法。类似于快排。对输入数字进行递归划分,但每次只处理划分的一边。 最坏情况下,时间复杂度是O(n2)。和快排类似2、最坏情况线性时间的选择:SELECT算法 (1)如果n=1,则select直... 阅读全文
posted @ 2012-11-18 22:01 海阔天空男儿当自强 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 听计算机体系结构的课,竟然有了一种入迷的感觉。原来计算机的编码是这么有意思。 好好学,拼命学,认真学,像海绵一样贪婪的吸取知识吧,我的年轻小伙子。 在你成为狮子之前,像骆驼一样谦卑恭敬:给我重负吧,让我的大力清醒清醒。 阅读全文
posted @ 2012-11-01 01:47 海阔天空男儿当自强 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 在看编译原理,看到了Lex这一节。网上搜发现,Parser Generator作为当前最好用的Windows环境LEX/YACC工具而被广泛应用。于是想学着用一下PG。没想到配置的问题就折腾了一天,不过收获还是很多的。参考资料:http://blog.csdn.net/itic3721/article/details/6225866相当感谢这位作者的帮忙,不过也有些小问题。实验目标: 在VS2008中编译PG2库,使两者能结合使用。实验过程:1、从网上下载了PG2,安装。2、按照上面网址的做法一步步做1)下载Parser+Generator+2.rar,经过改动的ParGen文件,在libb. 阅读全文
posted @ 2012-10-20 23:51 海阔天空男儿当自强 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 关键问题:控制格式(状态位,操控器)格式化与非格式化的输入输出函数如何判断输入/输出正确与否(四个状态:goodbit, failbit, badbit, eofbit),状态位的设置与检测Locale国际化问题(多种编码和字符)如何更高效使用 stream buffer(而不使用标准cout cin)不太理解的问题:C中的EOF是什么含义,定义是什么 阅读全文
posted @ 2012-08-31 01:43 海阔天空男儿当自强 阅读(180) 评论(0) 推荐(0) 编辑