数据结构与算法
sophie_wise8
这个作者很懒,什么都没留下…
展开
-
寻找最小的k个数总结
http://blog.csdn.net/v_JULY_v/article/details/6370650转载 2011-12-04 16:40:29 · 230 阅读 · 0 评论 -
八皇后及n皇后问题
八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种方法可以解决此问题。本方原创 2012-05-02 16:53:58 · 504 阅读 · 0 评论 -
并查集
百度全体员工玩分组游戏,前面五分钟大家分头找队友,并将每个人找到的队友信息汇报给主持人,如果A和B是队友,B和C是队友,那么A和C也是队友;接着主持人不断地随机抽取两个人,希望判断二者是否为队友。请设计一个计算机程序辅助主持人判断两个人是否为队友,说明程序的关键算法,不需要代码实现。例如:,,是队友,那么小军和小明是队友,小军和小丽不是队友。#include#defin原创 2012-05-02 15:42:29 · 274 阅读 · 0 评论 -
数组a,长度为n(索引为0至n-1)。现要求更新数组的各个元素,使新数组的第i个元素等于原数组中除第i个元素之外各元素之积
http://blog.csdn.net/codearhat/article/details/6839897a[0]变为a[1]到a[n-1]的积,a[1]变为a[0]和a[2]到a[n-1]的积,……a[n-1]为a[0]到a[n-2]的积。要求:具有线性复杂度。不能使用除法运算符。”讨论:最后两项要求恰好排除了最直观的两种方法"两层循环乘法"、“求全部元素的积P,然转载 2012-03-03 22:11:30 · 2789 阅读 · 0 评论 -
一随机数生成器以概率 p 生成0,以概率(1-p)生成1,怎样生成等概率的 0 和 1 ?
http://blog.csdn.net/yulin11/article/details/4569137这涉及到概率 分布的内容了,其实也简单只要能找到一个概率为1/2p的函数就解决了. 另外还有一个比较方便的实现: 一随机数f(x)以概率 p 生成0, 那么设g(x)=f(x)>0?0:1; 刚g(x)以概率 1-p 生成0. 所以f(x),g(x)同时生成0的转载 2012-03-03 22:16:47 · 5443 阅读 · 1 评论 -
“数组中求前K大/小数”深入探讨及举例
原文地址:http://hi.baidu.com/liangrt_fd/blog/item/dbf5b5d8726023accc11665e.html“数组中求前K大/小数”深入探讨及举例2010-07-17 22:07在一个数组中取得前k大元素,在搜索引擎返回搜索结果时比较有用,当客户获得搜索引擎返回的结果时,往往只会关注前几页转载 2012-03-01 11:15:41 · 850 阅读 · 0 评论 -
数组元素循环左移p个位置
数组A为{x0,x1,x2,x3,x4,x5....,xn-1}循环左移p之后为{xp,xp+1,xp+1,...,xn-1,x0,x1,x2,..xp-1}思路:假设数组为{1,2,3,4,5,6,7,8,9,10},p为31、将数组A转置,变为{10,9,8,7,6,5,4,3,2,1};2、将转置后的数组A前n-p个元素转置,变为{4,5,6,7,8,9,10,4,3,2,1原创 2012-02-27 16:46:21 · 1947 阅读 · 0 评论 -
打印二叉查找树中与输入整数相等的所有路径
输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。思路:建立一个由双向链表组成的栈,之所以用栈是因为递归,之所以用双向链表是为了可以顺序打印路径。然后在二叉查找树中递归寻找路径。代码如下:#include#include//二叉查找树数据结构struct BSTreeNode;原创 2012-02-28 11:08:27 · 726 阅读 · 0 评论 -
设计包含min函数的栈
定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。栈用链表实现,主要思想是增加一个辅助链表栈,存储最小元素。//stack.h#include#includestruct Node;typedef Node* Link;struct Node{int data;Link n原创 2012-02-26 21:29:19 · 266 阅读 · 0 评论 -
把二元查找树转变成排序的双向链表
原帖地址:http://topic.csdn.net/u/20101023/20/5652ccd7-d510-4c10-9671-307a56006e6d.html输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \4 8 12 16 转换成双向链转载 2012-02-23 21:11:41 · 628 阅读 · 1 评论 -
寻找出现频率超过一半的数
http://www.cnblogs.com/jy02414216/archive/2011/03/04/1970497.html转载 2012-02-12 20:39:36 · 215 阅读 · 0 评论 -
1到n的正数中1出现的次数
http://www.360doc.com/content/12/0317/18/1429048_195182735.shtmlhttp://www.cnblogs.com/python27/archive/2011/12/14/2288205.html【题 目】输入一个整数n,求从1到n这n个正数中,1出现的次数。例如:输入12,出现一的数字有1,10,11,12共有5个1,则输转载 2012-05-13 21:24:44 · 959 阅读 · 0 评论