上一页 1 ··· 8 9 10 11 12 13 14 15 下一页
摘要: 题目:给出O(N)运行时间的非递归算法,实现对一个含N个元素的链表的逆转,要求空间复杂度为O(1)代码:/* Assuming List with header and L is not empty */List ReverseList( List L ){ Position CurrentP... 阅读全文
posted @ 2014-10-18 13:57 Leptus 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 题目:使用单链表实现队列,Enqueue与Dequeue操作时间为O(1)代码:struct Node;struct QueueRecord;typedef struct Node * PtrToNode;typedef struct QueueRecord * Queue;struct Node{... 阅读全文
posted @ 2014-10-18 13:52 Leptus 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 题目:使用链表实现栈,Push与Pop操作时间为O(1)解答:代码如下: 1 /* 2 ADT: 栈 3 实现:带头结点的单链表 4 */ 5 6 struct Node; 7 typedef struct Node *PtrToNode; 8 typedef Pt... 阅读全文
posted @ 2014-10-18 13:49 Leptus 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 题目:用两个队列实现一个栈,并分析栈操作运行时间分析:栈的操作只能在表头进行;而队列的入队在表头进行,出队只能在栈尾进行;考虑将栈底元素变为栈顶元素,即进行倒置,就能在表头进行Pop操作;解答:(不考虑溢出)1、使用两个队列A与Tmp,Tmp队列作为中转;2、当进行Push操作时,在队列A中进行入队... 阅读全文
posted @ 2014-10-18 13:41 Leptus 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题目:用两个栈实现一个队列,并分析相关队列操作的运行时间解答:1、使用两个栈S1与S2;2、通过栈S1的Push执行队列入队操作,通过栈S2的Pop执行队列出队操作3、当栈S2为空后,即S1->Top = S2->Top,转换;栈S2的Push执行入队操作,栈S1的Pop执行出队操作操作时间复杂度:... 阅读全文
posted @ 2014-10-18 13:26 Leptus 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 问题:给定n个整数的集合S和另一个整数X,描述一个运行时间为O(log N)的算法,该算法能够确定S中是否存在两个其和刚好为X的元素算法描述:1、先将集合中元素排序在数组A中2、对于集合中的每一个元素A[i],在排好序的数组A中二分查找 X-A[i]3、查找成功则存在,循环结束后查找未成功则不存在伪... 阅读全文
posted @ 2014-10-18 02:00 Leptus 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 1、二分查找(Binary Search) 二分查找又称折半查找,它是一种效率较高的查找方法。 二分查找要求:线性表是有序表,即表中结点按关键字有序,并且表的存储结构为顺序结构。不妨设有序表是递增有序的。2、二分查找的基本思想 二分查找算法思想: (1)首先确定该区间的中点位置: mid... 阅读全文
posted @ 2014-10-18 01:16 Leptus 阅读(746) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Uva 167思路分析:八皇后问题,采用回溯法解决问题。代码如下:#include #include using namespace std;const int MAX_N = 10;int A[MAX_N];int M[MAX_N][MAX_N];int num, Max = 0;int... 阅读全文
posted @ 2014-10-16 03:50 Leptus 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 题目链接:Uva 552思路分析:时间限制为3s,数据较小,使用深度搜索查找所有的解。代码如下:#include #include using namespace std;const int MAX_N = 20;int n;int A[MAX_N], vis[MAX_N];int is_prime... 阅读全文
posted @ 2014-10-16 01:50 Leptus 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1979思路分析:使用DFS解决,与迷宫问题相似;迷宫由于搜索方向只往左或右一个方向,往上或下一个方向,不会出现重复搜索;在该问题中往四个方向搜索,会重复搜索,所以使用vis表来标记访问过的点,避免重复搜索。代码如下:#include u... 阅读全文
posted @ 2014-10-12 19:53 Leptus 阅读(189) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 下一页