
C/C++
文章平均质量分 74
aipb2008
这个作者很懒,什么都没留下…
展开
-
单链表基本操作c语实现
整理了下以前的代码,放到这里来,防止又被我格了(上次很多被不小心格了,哭啊!) 。单链表的一些操作: //:linkList.c#include stdio.h>#include malloc.h>#include conio.h>//define a nodetypedef struct node...{ int val; struct node *next;} no原创 2008-03-29 10:33:00 · 1547 阅读 · 0 评论 -
stl算法:next_permutation剖析
在标准库算法中,next_permutation应用在数列操作上比较广泛.这个函数可以计算一组数据的全排列.但是怎么用,原理如何,我做了简单的剖析.首先查看stl中相关信息.函数原型:template bool next_permutation( BidirectionalIterator _First, BidirectionalIterator _Last原创 2008-03-29 10:43:00 · 14728 阅读 · 10 评论 -
随机化算法基础
随机化算法在分析某些涉及概率分析的问题上具有重要意义,因为输入的分布是我们不能预知的,我们想让分析的问题达到一个平均的状态,就得依靠随机化,把输入分布重新排列,使之成为一个脱离其他外界因数的排列,同时要保证出现这个排列的概率为1/n!。下面,有两个常用的算法来实现输入分布的随机化,以给定的输入数组为例,我们的目标是把A[1..n]随机排列。方法一:为数组的每个元素A赋一原创 2008-03-29 10:49:00 · 6489 阅读 · 0 评论 -
数据结构:堆
堆是一个重要的数据结构,(二叉)堆数据结构是一种数组对象,可以看成一棵完全二叉树,没个结点与数组中的存放位置对应。表示堆的数组有两个属性:length[A],heap_size[A],前者是数组A中元素个数,后者指相应堆中的有效元素,所以heap_size[A]parent(i) return i/2(下取整) left(i) return 2i right(i)原创 2008-03-29 10:54:00 · 4295 阅读 · 0 评论 -
算法:combination in c++
前几天在论坛看到一个帖子,计算组合数,有点数学基础的都知道,求组合用公式Cnr(= n!/(n-r)!r!)可以得到组合数。怎样通过程序实现得到每一个组合序列呢?以整型数据为例:Ex:N = {1,2,3,4,5}从N中5个元素取2个得到12 13 14 15 23 24 25 34 35 45 ——10个组合这里可以看到组合出现是有规律的,每个组合总是按N中元素顺序出现(组合不是排列,12和2原创 2008-03-29 11:13:00 · 1310 阅读 · 0 评论