摘要: 黄金分割数0.618与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的0.618处,墙上的画像一般也挂在房间高度的0.618处,甚至股票的波动据说也能找到0.618的影子.... 黄金分割数是个无理数,也就是无法表示为两个整数的比值。0.618只是它的近似值,其真值可以通过对5开方减去1再除以2来获得,我们取它的一个较精确的近似值:0.618034 有趣的是,一些简单的数列中也会包含这个无理数,这很令数学家震惊! 1 3 4 7 11 18 29 47 .... 称为“鲁卡斯队列”。它后面的每一个项都是前边两项的和。 如果观察前后两项的比值,即:1/3,3/4,4/7,7... 阅读全文
posted @ 2014-03-18 21:28 Freecode# 阅读(580) 评论(0) 推荐(1)
摘要: 标题:三部排序 一般的排序有许多经典算法,如快速排序、希尔排序等。 但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。 比如,对一个整型数组中的数字进行分类排序: 使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!! 以下的程序实现了该目标。 其中x指向待排序的整型数组,len是数组的长度。 1 void sort3p(int* x, int len) 2 { 3 int p = 0; 4 int left = 0; 5 int... 阅读全文
posted @ 2014-03-18 20:58 Freecode# 阅读(936) 评论(0) 推荐(0)
摘要: 题目标题:前缀判断 如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。 比如:"abcd1234" 就包含了 "abc" 为前缀 1 char* prefix(char* haystack_start, char* needle_start) 2 { 3 char* haystack = haystack_start; 4 char* needle = needle_start; 5 6 7 while(*haystack && *needle){ 8 if(____ 阅读全文
posted @ 2014-03-18 19:46 Freecode# 阅读(367) 评论(0) 推荐(0)
摘要: 【2.4】设计一个算法,将一个带头节点的数据域依次为a1,a2,……,an(n>=3)的单链表的所有节点逆置,即第一个节点的数据域变为an,……,最后一个节点的数据域变为a1。 思路:我是直接在原链表上操作,当然也可以创建一个数组存储链表的数据,然后再倒序放回原链表。 答案: 1 void in... 阅读全文
posted @ 2014-03-18 19:43 Freecode# 阅读(941) 评论(0) 推荐(0)