Data Struct
文章平均质量分 88
liuyongvs2009
这个作者很懒,什么都没留下…
展开
-
产生任意奇数阶幻方 三种方法实现
1. 幻方矩阵幻方是一种很有意思的数字矩阵,在很早著名的九宫八卦阵就与幻方有关。幻方的定义为: 1 到 N*N 的整数填入N*N的方格中,每行和每列以及对角线的数字之和必须是相等的。你作为八卦公司的顶级程序员,现在需要你解决一个问题,将任意奇数阶的幻方找出来。 输入: 输入包括多个测试集,每行为一个正奇数N(1 输出: 对于输入的每一个N原创 2014-03-21 14:47:28 · 4030 阅读 · 0 评论 -
N皇后问题递归与非递归解法
参考资料:http://www.cnblogs.com/yanlingyin/archive/2011/12/19/2292041.html原创 2014-09-29 15:36:07 · 7852 阅读 · 0 评论 -
项目需要写了一个,内核红黑数代码的封装使用
/* * ============================================================================= * * Filename: rbtree.h * * Description: rbtree(Red-Black tree) implementation adapted from linux *原创 2014-05-30 15:06:52 · 800 阅读 · 0 评论 -
实现一个字符串中单词个数的统计,并按照单词字典序输出单词以及单词的出现个数。使用strsep
请你实现一个字符串中单词个数的统计,并按照单词字典序输出单词以及单词的出现个数。Hint:a.不考虑标点符号.b.如果有单词是大写将单词转换为小写统计c.句子中除了单词全部都是空格,没有其他特殊字符。Input:”I love you do you love me”Output:do 1I 1love 2me 1you 2原创 2014-05-30 15:00:38 · 7707 阅读 · 0 评论 -
用栈实现表达式求值
以前文章中写过一个表达式求值原创 2014-05-30 15:30:20 · 1824 阅读 · 0 评论 -
并查集
并查集是一个非常精巧的数据结果,原创 2014-05-30 15:46:18 · 670 阅读 · 0 评论 -
数组中,只有一个/两个/三个数只有一个,其他都为偶数个,找出只有一个的数
解决方案1:先排序,后比较,时间原创 2014-06-12 11:20:28 · 990 阅读 · 0 评论 -
图论所有的算法实现。DFS,BFS,Dijkstra,Floyd,Topsort,Kruskal,Prim,
参考资料:http://blog.csdn.net/cxllyg/article/details/7606184//http://2728green-rock.blog.163.com/blog/static/43636790200901211848284///http://blog.csdn.net/qiuyoungster/article/details/7846169原创 2014-06-12 12:27:35 · 1937 阅读 · 0 评论 -
最优二叉查找树
#include#include#define max 9999void OptimalBST(int,float*,float**,int**);void OptimalBSTPrint(int,int,int**);void main(){ int i,num; FILE *point; //所有数据均从2.txt中获取,2.txt中第一个原创 2014-03-26 19:30:14 · 812 阅读 · 0 评论 -
huffman的实现
/* on: Lossless Compression @Author: JackyLau @Create Time: 2012-9-26 10:40 @Last Modify: 2012-9-26 12:10 */ /*******************************原创 2014-03-26 19:21:59 · 566 阅读 · 0 评论 -
矩阵链乘法(算法导论)
#include #include using namespace std;int com[100][100];///////////////////////////////////注意这段改进的乘法结合方式输出的实现void combine(int i, int j){ if(i==j) { printf("M%d",i);原创 2014-03-26 19:18:05 · 795 阅读 · 0 评论 -
背包问题 (0-1背包,多重背包,完全背包)
//0-1背包#include#include#include #includetypedef struct{ int weight; int value;} knapstruct;void knapsack(int n,int w){ knapstruct * knap; int i,j; int **c=(int **)call原创 2014-03-26 19:14:26 · 782 阅读 · 0 评论 -
最长递增子序列
问题描述: 随机生成小于等于n的自然数的一个序列,输出其最长递增子序列(任意一个即可)。 n 分别取 1000,3000,10000。 例: n=5 随机序列为 5 1 4 2 3,正确输出为1 2 3,即长度为3的递增子序列。 提示:参考LCS,思考能否达到时间复杂度(O(nlogn)) 本题也采原创 2014-03-21 14:56:36 · 684 阅读 · 0 评论 -
9种排序算法的实现
问题描述:实现合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序算法实验要求: A. 在随机产生的空间大小分别N = 10, 1000,10000,100000 的排序样本上测试以上算法。 B. 结果输出: (1) N=10时,排序结果。原创 2014-03-21 14:52:42 · 975 阅读 · 0 评论 -
整数划分 用递归,动态规划,母函数法实现
1. 整数划分类输入: 每组输入是两个整数n和k。(1 输出: 对于每组输入,请输出六行。 第一行: 将n划分成若干正整数之和的划分数。 第二行: 将n划分成k个正整数之和的划分数。 第三行: 将n划分成最大数不超过k的划分数。 第四行: 将n划分成若干奇正整数之和的划分数。 第五行: 将n划分成若干不同整数之和的划分数。 第六原创 2014-03-21 14:45:35 · 1597 阅读 · 0 评论 -
assert.h原理以及自己的实现
1.该博客对assert.c的原理和使用方法进行了阐述原创 2014-10-20 19:37:06 · 2301 阅读 · 0 评论