自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

西代零零发

既然选择远方,便只顾风雨兼程

原创 《算法导论》第9章 顺序统计学 (2)随机选择

randomized_select使用划分方法randomized_partition(),返回主元位置q(第k小元素)。 要查找的是第 i 小元素,若恰好等于k,那么直接返回。 如果 i 如果 i > k,则继续在[q + 1, r]中搜索第 i - k 小元素。 int...

2012-02-25 23:00:23

阅读数 1777

评论数 0

原创 《算法导论》第9章 顺序统计学 (1)最小值和最大值

1. 查找最小值 逻辑比较简单,用第一个元素来初始化最小值min, 然后与数组中其余元素比较,找出最小值。 时间复杂度是O(n),已经最优化了。 int minimum(int A[], int len) { int min = A[0]; int i;...

2012-02-25 22:58:47

阅读数 2672

评论数 0

原创 《算法导论》第7章 快速排序 (四种变形)

这一章的正文及思考题部分讲到了快速排序及其几种变形,包括:Hoare快排, 普通快排,随机快排,三数取中快排。 这些快排的区别主要是划分方法PARTITION算法的不同:如何选取主元,划分出的 两部分范围是什么。根据划分出的范围不同,各变形的QUICKSORT有微小的差别。 ...

2012-02-24 23:19:26

阅读数 3860

评论数 0

原创 《算法导论》第6章 堆排序 (4)Young氏矩阵

1. 什么是Young氏矩阵? 一个 m * n 的矩阵,其中每一行的数据都从左到右排序,每一列的数据都从上到下排序。 其中用 ∞ 代表不存在的元素,一共可以存放 r ≤ mn 个有限的数。 如下面程序实现中用来测试的Young氏矩阵: { 1,  3,   5, ...

2012-02-22 22:08:03

阅读数 2844

评论数 0

原创 《算法导论》第8章 线性时间排序 (1)计数排序

一种简单的实现是得到数组C,C[i]表示数组A中值为i的元素个数。 C = { 2, 0, 2, 3, 0, 1 }就表示两个0,两个2,三个3,一个5。 然后将这些数字依次存到数组B中。 #include #include void printArray(int[], ...

2012-02-19 15:32:18

阅读数 1763

评论数 0

原创 《算法导论》第6章 堆排序 (2)优先级队列

6.5 优先级队列 在实际中堆的一个很常见的应用:用来实现高效的优先级队列。 优先级队列分为最大优先级队列和最小优先级队列。 最大优先级队列的一个应用是在一台分时计算机上进行作业调度。 需要在堆中的每个元素里存储对应对象的柄(handle)。 #include ...

2012-02-17 22:25:59

阅读数 1897

评论数 0

转载 关于程序员成长的一点思考

如果止步不前,多少年后,我们与新进入这个行业的新人们没多少区别。工作经验是廉价的,熬年头就能换来,我们没有多少竞争力。 只有努力提高自己,让时间换来的不仅仅是工作经验的增加,而是内力的增强,才会让自己更有价值,不会轻易被淘汰。 转载自:http://hp.dewen.org/?p=56...

2012-02-16 21:32:19

阅读数 1431

评论数 0

原创 《算法导论》第6章 堆排序 (3)K路归并

问题描述: 问题来自习题6.5-8 给出一个时间为O(nlgk),用来将k个已排序链表合并为一个排序链表的算法。 此处n为所有输入链表中元素的总数。(提示:用一个最小堆来做k路合并)。 在K路归并问题中,取出最小堆的根元素(最小元素)后,如果此元素没有后继元素(next为空)...

2012-02-15 21:58:41

阅读数 6370

评论数 4

原创 《算法导论》第6章 堆排序 (1)最大堆与堆排序

6.1 堆 “堆”这个词最初是在堆排序中提出的,但后来就逐渐指“废料收集存储区”,像Lisp和Java中提供的那样。 (二叉)堆是一种数组对象,可以被视为一棵完全二叉树。 length[A]是数组中的元素个数,heap-size[A]是存放在A中堆的元素个数。 树的根是A[...

2012-02-14 22:40:03

阅读数 1983

评论数 0

原创 《C和指针》第14章 预处理器

14.2.1 宏 #define包括一个规定,允许把参数替换到文本中,这种实现通常称为宏(macro)。 #define SQUARE(x) x * x 则程序中的SQUARE(5)会被替换成:5 * 5 警告: 例1:      a = 5;      ...

2012-02-12 17:57:18

阅读数 1524

评论数 0

原创 《Shell脚本学习指南》第四章 文本处理工具

4.1 排序文本 4.1.1 行的排序 未提供命令行选项时,整个记录会根据当前locale所定义的次序排序。 在传统的C locale中,也就是ASCII顺序。 4.1.2 以字段排序 -k选项的后面接着的是一个字段编号,或者是一对数字。 每个编...

2012-02-11 22:47:33

阅读数 2060

评论数 0

原创 《Shell脚本学习指南》第三章 查找与替换

3.1 查找文本 grep:使用POSIX定义的基本正则表达式(BRE)。 egrep:使用扩展正则表达式(ERE)。 fgrep:快速grep。使用优化的算法,匹配固定字符串而非正则表达式。 1992 POSIX标准将这三个改版整合成一个grep程序。 $ ...

2012-02-11 17:10:23

阅读数 2418

评论数 0

原创 《C和指针》读书笔记

看过了经典的K&R C,又看了这本Pointers on C,温习了C语言的基本语法。 在重温过程中,感觉需要重点把握的知识是指针、结构和动态内存分配。 这对今后的算法和操作系统方面的研究学习很有帮助。 3.2.3 声明指针 int* b, c, d; ...

2012-02-04 16:21:23

阅读数 1515

评论数 0

提示
确定要删除当前文章?
取消 删除