算法
文章平均质量分 83
seeCrazy
这个作者很懒,什么都没留下…
展开
-
排列与组合
一:全排列描述:给定一个字符序列或者一个整形序列,输出其所有可能的排列结果。分析:排列这个问题在高中数学教材中已经被描述的相当详尽了,简单来说就是有N个位置,然后有N个不同的物体,你需要将这N个物体放到这N个位置上,问你有多少种放的方式,并且输出所有的摆放情况。如果我们在编程中遇到的一个问题是,求一个数组的全排列;假设这个数组的长度为N,则这个数组的N个存储单元就是上面提到的N个位置,原创 2014-12-01 11:18:17 · 734 阅读 · 0 评论 -
二分查找的学习与使用
二分查找很快,因为他每比较一次就能将查找范围减半,所以时间复杂度是logN。很多计算机科学家对二分查找算法进行了改进,这种改进主要是基于代码调优层次的,虽然其时间复杂度任然是logN,但总的比较次数进一步减少。最简单的二分查找:int binarySearch_v1(int array[], int low, int high, int value){ while(low <= hig原创 2014-12-02 09:55:49 · 574 阅读 · 0 评论 -
整数划分
1.问题描述输入:每组输入是两个整数n和k。(1 输出:对于每组输入,请输出六行。 第一行: 将n划分成若干正整数之和的划分数。 第二行: 将n划分成k个正整数之和的划分数。 第三行: 将n划分成最大数不超过k的划分数。 第四行: 将n划分成若干奇正整数之和的划分数。 第五行: 将n划分成若干不同整数之和的划分数。 第六行: 打印一个空行。算法思想:原创 2014-12-03 17:38:08 · 2186 阅读 · 0 评论 -
二叉树基本操作
一.二叉树的定义二.二叉树的建立定义一棵无数据的二叉树: 6 int left[SIZE]; 7 int right[SIZE];为了操作简便,我们定义一棵不需要存储数据的二叉树,只要能存储节点之间的逻辑关系就行,所以用两个数组来表示。left[i],第i个节点的左子节点的序号right[i],第i个节点的右子节点的序号若left[i] == -1表示第i个节原创 2014-12-04 21:58:48 · 593 阅读 · 0 评论