2011年4月1日

算法导论8-3(a)习题解答(基数排序)

摘要: CLRS 8-3(a) :给定一个整数数组,其中不同的整数中包含的数字个数可能不同,但该数组中,所有整数中总的数字数为n。说明如何在O(n)时间内对该数组进行排序。算法思想:1)先把各个数字按位数分组。2)然后对各个分数进行基数排序3)将各个组连接起来即可这个题目基本上重复了算法导论8.3-4习题解答(基数排序) 的核心算法.#include <iostream>#include <fstream>usingnamespace std;void radix_sort(int* a, constint d, constint length, int radix);int 阅读全文

posted @ 2011-04-01 11:27 NULL00 阅读(1285) 评论(0) 推荐(0) 编辑

最短子序列(最短摘要)

摘要: 题目:有一段广告,它由很多单词构成,然后它有个摘要,即关键字,问包含摘要(关键字)的在广告正文中的最短字符串是什么? 简而言之,就是说求在原字符串中包含所有关键字的最短子序列。算法思想: 将每个关键字在原字符串中位置记录在一个数组中,每个关键字对应一个数组,然后令distance = max(a[i], b[j], c[k]) - min(a[i], b[j], c[k]),然后最小的那个元素被它所在数组的下一个元素取代,依次循环下去。这里假设是三个关键字,然后就有三个数组。#include <iostream>using namespace std;int max(int a, 阅读全文

posted @ 2011-04-01 11:16 NULL00 阅读(1445) 评论(0) 推荐(0) 编辑

导航