- 博客(8)
- 收藏
- 关注
转载 研究散列(Hashing)算法的体会
<br /><br />散列,虽然只支持二叉查找树所允许的一部分操作,但是散列具有以常数平均时间执行插入、删除和查找的特点。<br />散列无法有效支持元素间排序的操作,因此像findMax、findMin以及在线性时间内按顺序打印所有元素的操作都无法支持。<br />为了解决散列冲突问题,普遍存在两种方式,<br />分离链接法(separate chaining),其做法是将散列到同一个位置的元素以一个链表的方式保存。通常产生冲突的元素被插入到链表的最前面,这样不仅方便,而且由于最后插入的元素最有可能不
2010-11-16 16:31:00
702
转载 C语言-计算器实现(Dev c++编译通过)
转自http://zhangjunhd.blog.51cto.com/113473/102014-括号匹配int match(char * cs, int size);1.做一个空栈。读入字符直到文件尾。2.对读入的字符进行判断, 2.1如果字符是一个左括号,则入栈; 2.2如果字符是一个右括号,如果栈空或弹出的左括号不匹配,则匹配失败; 2.3输入结束,如果栈非空,则匹配失败,否则匹配成功。-计算后缀表达式的值(假定后缀表达式正确)int postfixValue(char * expr
2010-10-11 22:59:00
2427
原创 C语言--链表的常见操作(在DVE-C++编译运行通过)
链表分为单链表、双向链表、单向循环链表、双向循环链表。针对链表的操作主要有插入一个节点,删除一个节点,新建一个链表,打印一个链表,寻找链表的中间节点。对链表进行排序等等。
2010-09-30 14:43:00
1937
原创 巴斯卡(Pascal)三角形 (C语言实现)
以前读书的时候没有用C语言编写什么东西,感觉C语言的功能有限,现在工作后觉的C语言的功能真的很强大,可以做很多事情。所以现在重新把C语言好好学习一下。在博客上记录自己的一点一滴,看着自己成长进步,为了梦想而奋斗,技术改变未来。
2010-09-19 19:52:00
5510
原创 河内之塔(C语言递归实现)
<br /><br /> <br />#include <stdio.h><br />#include <stdlib.h><br /> <br />//河内之塔 递归实现<br />void hanoi(int n,char A,char B,char C);<br /> <br />int main(int argc, char *argv[])<br />{<br /> int n;<br /> printf("输入盘数:");<br /> scanf("%d",&n);<br />
2010-09-19 18:47:00
887
原创 C语言实现快速排序(完整版)DVE-C++编译通过
#include #include #include #define MAXLINES 5000 //进行排序的最大文本行 char *lineptr[MAXLINES]; //指向文本行的指针数组 int readlines(char *lineptr[],int nlines);void writelines(char *lineptr[],int nlines);void qsort(char *lineptr[], int left,int right); //对
2010-09-09 16:14:00
2941
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人