算法与数据结构
文章平均质量分 76
wplxb
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
单向链表的几道题
---------------------------------------------------------------------------1. 转置单向链表 (也就是反序,注意链表的边界条件并考虑空链表)。#include struct listtype{ int data; struct listtype * next;};typedef struct listtype原创 2007-07-02 16:26:00 · 3081 阅读 · 2 评论 -
一些关于树的题目
---------------------------------------------------------------------------将一棵二叉搜索树转换为有序链表。/*************************************************************************** * Description: * 将一棵二叉原创 2007-11-02 09:49:00 · 1345 阅读 · 2 评论 -
一些关于概率的题目
---------------------------------------------------------------------------以等概率从一个序列中选取一个元素这个问题可能有如下几种提法:1) 在链表中等概率选取一个元素。2) 从一个不知道大小的数据流中以等概率选取一个元素。3) 无限长序列随机采样。4) ...解法:示例代码如下: nmatch = 0; for原创 2007-10-20 09:23:00 · 936 阅读 · 0 评论 -
一些关于排列组合的题目
---------------------------------------------------------------------------求从 n 个元素里取 m 个的所有组合。#include #include #define MAX 100void print(const int * array, int m){ int i; for (i = 0; i {原创 2007-10-22 22:47:00 · 1181 阅读 · 0 评论 -
微软试题
---------------------------------------------------------------------------1. 链表和数组的区别在哪里? 数组静态分配内存,链表动态分配内存; 数组在内存中连续存放,链表不连续; 数组可以用下标定位,时间复杂度 O(1),链表定位元素时间复杂度 O(n); 数组删除或插入元素时间复杂度 O(n),链原创 2007-06-16 09:41:00 · 1258 阅读 · 0 评论 -
KMP 算法 (Knuth-Morris-Pratt 字符串匹配算法)
先给代码,有时间了再回来补注释和算法说明。---------------------------------------------------------------------------#include #include #include const int * get_prefix(const char * P){ int * pi = (int *)malloc(sizeof(in原创 2007-06-16 09:18:00 · 1542 阅读 · 0 评论 -
位运算试题
---------------------------------------------------------------------------1. 计算一个整数中比特位值为 1 的位数。直观解法:int countOnes(int x){ int count = 0; for(; x; x >>= 1) { if (x & 1) {原创 2007-08-18 20:41:00 · 1683 阅读 · 0 评论 -
ACM POJ 总结
ACM POJ 总结:注意点:1. 一定要测试临界情况 (一定要参考每题后的讨论,1598 的血泪教训) 后再提交。2. 要仔细!输出格式别弄错了 (参考 1918) !3. 注意循环的边界条件。有一些错误,并不是每次都会造成错误的结果,而是时而对,时而错。比如,数组越界,而循环又要依赖数组元素来判断是否结束时。参考本题的前两次提交代码 (1591) 。4. 编译器对数组元素个数是有限制的。Win原创 2007-05-13 08:12:00 · 2912 阅读 · 0 评论 -
谷歌试题
---------------------------------------------------------------------------struct 和 class 的区别见 http://blog.youkuaiyun.com/wplxb/archive/2007/06/16/1654129.aspx-----------------------------------------------原创 2007-08-11 12:22:00 · 2151 阅读 · 0 评论 -
算法和数据结构试题
---------------------------------------------------------------------------1. 二叉排序树和哈希表那个查找效率高。 普遍而言,哈希表更快。但要看具体情况。 二叉排序树的查找复杂度一般为 O(logn)。但如果退化为链表,则复杂度为 O(n)。 哈希表的查找速度要看哈希函数,一般为 O(1)。但如果哈希表容原创 2007-08-07 16:46:00 · 1993 阅读 · 0 评论 -
字符串的一些题
---------------------------------------------------------------------------给定一个字符串,求其最长连续重复子串,如果有多个则返回第一个。例如 “ababc”要求返回“ab”,因为“ab”连续重复出现且最长。给出复杂度分析。思路:设字符串长度为 len,从长度为 len/2 开始,递减测试,看是否有长度为 test 的重复连原创 2007-08-07 10:07:00 · 1366 阅读 · 0 评论 -
在链表中等概率选取元素
1. 在链表中等概率选取一个元素代码:nmatch = 0;for (p = list; p != NULL; p = p->next) if (rand() % ++nmatch == 0) selected = p;return selected;解释:对第 k 个节点(从 k=1 开始计数,最大为链表长度n),它被选中的情况是 selected = p;转载 2007-12-31 23:44:00 · 846 阅读 · 0 评论
分享