上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 99 下一页

2012年3月12日

《算法导论》第11章 散列表 (3)开放寻址

摘要: 前一节介绍是最简单的冲突解决方法-链接法。开放寻址与链接法不同,所有元素都放在散列表内。 在这种方法中,散列表可能会被填满。开放寻址不需要指针,只需要计算出要存取的各个槽。 由于不用存储指针而节省的空间可以提供更多的槽。 有三种技术常用来计算开放寻址法中的探查序列:线性探查、二次探查和... 阅读全文

posted @ 2012-03-12 21:34 毛小娃 阅读(153) 评论(0) 推荐(0) 编辑

2012年3月10日

《算法导论》第11章 散列表 (2)散列表

摘要: 用散列表来解决直接寻址表的那两个问题。但由此带来的散列值的碰撞问题。 最简单的解决方法是链接法,以及下一节介绍的开放寻址法。 链接法,即把散列到同一槽中的所有元素都放在一个链表中。 链表是无序的,在查找一个元素时需要遍历链表。 对于删除函数,假如参数是要删除的结点,那么如果链表是双向的... 阅读全文

posted @ 2012-03-10 23:05 毛小娃 阅读(134) 评论(0) 推荐(0) 编辑

2012年3月7日

《算法导论》第11章 散列表 (1)直接寻址表

摘要: (一)直接寻址表 关键字集合U = { 0, 1, ..., m - 1 },实际的关键字集合K。 用一个数组T[0..m - 1],其中每个位置对应U中的一个关键字。 直接寻址表的问题: (1)如果U很大,要保存|U|大小的一张表T有点不实际。 (2)实际存储的关... 阅读全文

posted @ 2012-03-07 22:54 毛小娃 阅读(134) 评论(0) 推荐(0) 编辑

2012年3月5日

《算法导论》第10章 基本数据结构 (2)链表

摘要: 《算法导论》里实现的是无序双向链表。 源文件 list.h:链表的接口,定义链表和结点的类型,以及链表支持的操作。 typedef int DATA_TYPE;// 注意将结构声明为新类型的语法struct tagNode { DATA_TYPE data; st... 阅读全文

posted @ 2012-03-05 22:21 毛小娃 阅读(125) 评论(0) 推荐(0) 编辑

2012年3月4日

Typedef与Struct

摘要: 原文地址:http://blog.csdn.net/gungod/article/details/1400936 当用下面的代码定义一个结构时,编译器报了一个错误,为什么呢?莫非C语言不允许在结构中包含指向它自己的指针吗?请你先猜想一下,然后看下文说明: typedef struc... 阅读全文

posted @ 2012-03-04 16:27 毛小娃 阅读(119) 评论(0) 推荐(0) 编辑

2012年2月25日

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

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

posted @ 2012-02-25 23:00 毛小娃 阅读(112) 评论(0) 推荐(0) 编辑

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

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

posted @ 2012-02-25 22:58 毛小娃 阅读(251) 评论(0) 推荐(0) 编辑

2012年2月24日

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

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

posted @ 2012-02-24 23:19 毛小娃 阅读(204) 评论(0) 推荐(0) 编辑

2012年2月22日

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

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

posted @ 2012-02-22 22:08 毛小娃 阅读(167) 评论(0) 推荐(0) 编辑

2012年2月19日

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

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

posted @ 2012-02-19 15:32 毛小娃 阅读(111) 评论(0) 推荐(0) 编辑

上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 99 下一页

导航