ASCE1885

编程是一种艺术 目的在于告诉其他人他想要让计算机做什么

音乐随机播放算法

常见的音乐随机播放算法主要有两种:一是Shuffle算法;二是Random算法。 一 Shuffle算法 Shuffle算法和排序算法正好相反,是从有序到乱序的一个过程,俗称洗牌算法。它将播放列表中的歌曲顺序打乱,变成一个和原来歌曲顺序没有任何关系的乱序的播放列表,之后进行歌曲的播放,并支持当...

2012-05-19 13:31:20

阅读数:7076

评论数:2

《算法之美》の字符串相关问题の壹

题目:编写一个单词逆序输出的算法,例如输入“SEE YOU IN ANOTHER LIFE”,要求输出“LIFE ANOTHER IN YOU SEE”。解答:#includevoid ReverseWord(constchar* src, char* dest){          assert...

2010-09-30 15:33:00

阅读数:1654

评论数:0

《算法之美》の递归与分治策略の全排列问题

全排列问题:设R={r1, r2, …, r3}是要进行排列的n个元素,Ri = R –{ri}。集合X中元素的全排列记为Perm(X)。(ri)Perm(X)表示在全排列Perm(X)的每一个排列前加上前缀ri,得到的排列。因此,R的全排列可以归纳定义如下:1)当n=1时,Perm(R) = (...

2010-08-25 22:59:00

阅读数:1703

评论数:1

《算法之美》のn个数连接得到最小的多位整数

<br />题目:设有n个正整数,将它们连接成一排,组成一个最小的多位整数?<br />例如:n=2时,2个整数32,321连接成的最小整数是:32132;<br />         n=4时,4个整数55,31,312,33连接成的最小整数为:3123133...

2010-08-24 16:44:00

阅读数:1466

评论数:0

《算法之美》の链表问题の单向链表的反转

<br />题目:输入一个链表的头节点,反转这个链表,并返回反转后链表的头节点,链表定义如下:<br />struct ListNode<br />{<br />         int       m_nKey;<br />      ...

2010-08-10 21:55:00

阅读数:1694

评论数:0

《算法之美》の链表问题の两链表相交问题

编程判断两个链表是否相交问题:给出两个单向链表的头指针,比如head1和head2,判断这两个链表是否相交。这里给出简化问题,假设两个链表均不带环。解答:首先了解一下这个问题的工程实践,例如在一个大的系统中,如果出现两个链表相交的情况,一旦程序释放了其中的一个链表的所有节点,那样就会造成第二个链表...

2010-08-07 21:29:00

阅读数:1487

评论数:1

《算法之美》の链表问题の从链表中删除节点

问题:假设一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(既不是第一个,也不是最后一个节点),请将该节点从单链表中删除。链表结点定义如下:struct ListNode{         int       m_nKey;         ListNode* m_pNext;};解答:...

2010-08-06 14:48:00

阅读数:3601

评论数:0

《算法之美》の链表问题の从尾到头输出链表

<br /><br />题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:<br />struct ListNode<br />{<br />         int       m_nKey;<br /...

2010-08-05 20:41:00

阅读数:1504

评论数:0

《算法之美》---次序选择问题

当一个序列排好序之后,我们一般会对其有两种操作:一是对其进行查找操作;一是得知任何特定元素在一个序列中的次序。当如果我们仅仅想知道某一个或某几个元素在序列里的次序,或者处于某个特定位置上的元素,则并不一定需要对整个序列进行排序。 在一个序列里面挑选处于特定位置的元素的问题就是所谓次序选择问题。一...

2010-07-22 21:25:00

阅读数:1298

评论数:0

《算法之美》---快速排序(随机快速排序)

快速排序是对冒泡排序的一种改进,它使用分治的思想,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录循环进行排序,以达到整个序列有序的状态。   快速排序是C.A.R Hoare在1962年提出的,显然,它是一种分治算法,并且是原...

2010-07-22 17:16:00

阅读数:1586

评论数:0

《算法之美》---堆排序

<br />堆可分为大根堆和小根堆;对小根堆来说,若在输出堆顶的最小值后,使得剩余的n-1个元素的序列重又建成一个小根堆,则得到n个元素中的次小值。如此反复执行,便能得到一个有序序列,这个过程称为堆排序。堆排序只需要一个用来记录大小的辅助空间,每个待排序的记录仅占用一个存储空间。<...

2010-07-22 16:01:00

阅读数:1362

评论数:0

《算法之美》---二叉堆及其实现

<br />二叉堆是一棵满足下列性质的完全二叉树:<br />1)如果某节点有孩子,则根节点的值都小于孩子节点的值。我们称之为小根堆;<br />2)如果某节点有孩子,则根节点的值都大于孩子节点的值。我们称之为大根堆。<br />这样,如果我们用一维...

2010-07-17 17:07:00

阅读数:2226

评论数:3

《算法之美》---二叉搜索树

<br />二叉排序树又叫二叉搜索树、二元查找树,它或者是一棵空树;或者是具有下列性质的二叉树:<br />1)每个节点有一个关键值,并且没有任意两个元素有相同的关键值;因此,所有关键值都是唯一的;<br />2)若它的左子树不空,则左子树上所有节点的值均小于它...

2010-07-17 11:19:00

阅读数:1544

评论数:0

《算法之美》---归并排序

将一个大序列的排序问题分解为对两个或多个子序列的排序问题,然后对子序列递归使用同样的方式进行排序;在子序列排好序后,将结果合并起来即可。利用这种思想的排序方法就是著名的归并排序。之所以称为归并排序,是因为整个算法的成本由归并部分决定。   归并算法描述如下: 1)如果n=1,排序完成; 2...

2010-07-15 20:48:00

阅读数:1060

评论数:0

《算法之美》---进程互斥软件算法(Lamport面包店算法和Eisenberg算法)

实现进程互斥的软件的结构框架是:Framework         Repeat                   entry section                   critical section                   exit section           ...

2010-07-14 21:39:00

阅读数:4954

评论数:1

《算法之美》---插入排序

不断地从无序部分抽取一个元素,并将其插入到有序部分合适位置上的排序方法称为插入排序。 插入排序的特点是将待排序的元素一个个插入到已经排好序的数列中,这涉及到插入位置的确定。显然,要确定一个元素的位置,就需要将待排序的元素与已排序部分的元素进行比较,最简单的方法就是一个一个元素地进行: /* ...

2010-07-14 15:46:00

阅读数:1002

评论数:0

Brackets Sequence--poj--1141

Brackets SequenceTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 11854Accepted: 3164Special JudgeDescriptionLet us define a regular

2010-05-30 10:17:00

阅读数:1200

评论数:0

Parliament--POJ--1032

ParliamentTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 10936Accepted: 4570DescriptionNew convocation of The Fool Lands Parliament consi

2010-05-29 13:20:00

阅读数:1825

评论数:0

线段树的代码模板

线段树的应用:1)求面积:一.坐标离散化;二.垂直边按x坐标排序;三.从左往右用线段树处理垂直边,累计每个离散x区间长度和线段树长度的乘积。2)求周长:一.坐标离散化;二.垂直边按x坐标排序,第二关键字为入边优于出边;三.从左往右用线段树处理垂直边,在每个离散点上先加入所有入边,累计线段树长度变化...

2010-05-27 14:43:00

阅读数:3147

评论数:0

线段树

树结构的基本思想是分割。普通二叉搜索树是按对象来进行划分,效果往往和数据结构内对象有关;而线段树是根据关键码的可能范围来分的,这种技术叫做关键空间分解! 线段树的处理对象是线段(一般意义上的区间可以抽象成线段),它把线段组织成利于检索和统计的形式,本质上是线段的二叉搜索树!当然,线段树特殊点在与其...

2010-05-26 08:20:00

阅读数:2318

评论数:2

提示
确定要删除当前文章?
取消 删除
关闭
关闭