摘要: 字符串匹配算法有好多,朴素的,KMP,有限自动机,BM算法以及sunday算法,貌似还有个KR算法?我只知道朴素的,KMP(刚刚学的),sunday算法(改进的BM算法)。。。朴素字符串匹配算法: 1 int naive_match(char *str, char *patt) 2 { 3 if(str==NULL || patt==NULL) 4 return -1; 5 int i, j, 6 int str_len = strlen(str); 7 int patt_len = strlen(patt); 8 9 for(... 阅读全文
posted @ 2012-10-08 22:11 iavailable 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 传说中的二分查找: 1 int binarysearch(int *a, int k, int length) 2 { 3 int left = 0; 4 int right = length-1; 5 int mid; 6 while(left<=right) 7 { 8 mid = left+(right-left)>>1; 9 if(a[mid] == k)10 return mid;11 else if(a[mid]>k)12 right = mid-... 阅读全文
posted @ 2012-10-08 17:17 iavailable 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 这两天写了一下排序,整理一下。。。代码比较乱,自己看的,不要拍我。。。注意:不管怎么样,程序是写出来的!一定要写!你才能知道各种边界啊,小错误啊~注意:操作数组下标和数组元素的区别!!!插入排序 1 void insertsort(int *a, int n) 2 { 3 if(a==NULL || n<=0) 4 return; 5 for(int i=1; i<n; i++) 6 { 7 for(int j=i; j>0; j--) 8 { 9 if(a[j]<a[j-1])10 ... 阅读全文
posted @ 2012-10-08 17:12 iavailable 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 最近开始找工作,知识点太多,想好好整理一下。好久没有写博客了,哇,距离上一篇随笔整整5个月了!我够懒!够“坚持不懈”!真对自己无语~~~好吧,开始,Just do it! 阅读全文
posted @ 2012-10-08 16:34 iavailable 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 字节序分为主机字节序和网路字节序。 主机字节序主要分为两种:大端字节序(big-endian)和小端字节序(little-endian)。不同的处理器架构,有不同的字节序。运行在同一台计算机上的进程相互通信时,一般不用考虑字节序问题。 字节序是一个处理器架构特性,用于指示像整数这样的大数据类型的在内存中的内部字节顺序。 大端字节序(big-endian),最高有效位(MSB, Most Significant Bit)存储在最低的内存地址处;(大端字节序最直观)nn+1n+2n+3MSB LSB 小端字节序(little-endian),最低有效位(... 阅读全文
posted @ 2012-05-09 17:34 iavailable 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 1.如何判断一个单链表是否有环?如果有环,求出环的入口节点 思想:用两个指针p1,p2同时指向链表的头部,p1一次移动一步,p2一次移动两步; 如果最终p1和p2重合则说明链表有环,如果p2走到空指针(链表的结尾)则说明链表无环。 如果最终p1和p2重合,使p2重新指向链表的头结点,然后p1和p2同时一次移动一步,当p1和p2再次重合时该节点指针就是环的入口节点指针。2.如何判断两个有环的单链表是否相交? 首先将其中一个链表list1首尾相接,变成一个有环链表, 如果另一个链表list2和list1相交的话,list2也将成为一个有环链表,并且环的入口节点就是两个链表的交叉节... 阅读全文
posted @ 2012-05-08 14:46 iavailable 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 自从上一篇随笔,貌似已经好几个月了,唉,真对自己无语,又没有坚持下来~刚装完Ubuntu,打算以后多用用linux进行日常办公~本篇文章主要参考了http://wiki.ubuntu.org.cn,http://wiki.ubuntu.org.cn/Qref/Applications,可以说大部分文章都是从上面摘抄了,主要是为了以后重装系统~顺便总结一下linux下经常用到的软件~一:设置软件源1.首先配置软件源: sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak2.使用vim将sources.list打开编辑: sudo vi.. 阅读全文
posted @ 2012-05-06 22:02 iavailable 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 元旦的时候该处理的事情差不多都处理完了~累,累,还是累~心累,也耽误了不少时间!事情完了,也就应该静下心来学习了!!!有个师妹跟我说过一句话,其实找到了合适的人,剩下的就是努力让自己变得优秀了~所以我要努力!!!每次去图书馆的时候,都会感觉自己时间不够,后悔自己平时浪费的时间太多!傍晚的火车,要去很多地方,处理更多的事情。。。感觉到长大的压力和责任~这个寒假,要好好计划一下,好好研究一下算法和数据结构吧,巩固一下c++基础方面的知识,当然都是很基础的,慢慢来~寒假回来总结一下~勉励! 阅读全文
posted @ 2012-01-07 11:10 iavailable 阅读(217) 评论(0) 推荐(0) 编辑
摘要: (声明:本文提到的各种书籍来源广泛,当然,不同的人有不同意见,本文仅代表个人意见,仅供参考) 记忆中,上学买书是浪费钱,所以也从来没买过什么书,当然,除了教材看的书也就很少了。 自从上了研究生以来,计算机专业方面的经典书籍也就了解的多了(哭啊,以前本科的时候怎么不知道啊,要是知道的话,我可能就会读读了,只是可能,嘿嘿) 当然也买了不少,基本都是从网上买的~~ 买了就是读的,要不然就是废品了,不过,当有一天烂熟于心的时候,一切书籍也就成废品了!!! 计算机程序设计艺术、数据结构与算法分析(c语言描述)、算法导论; the c programming language、c和指针... 阅读全文
posted @ 2011-12-14 19:32 iavailable 阅读(202) 评论(1) 推荐(0) 编辑
摘要: 今天第一次开博,以前反反复复也开过不少博客,但是都没有坚持下来。希望这次可以坚持的很久!主要是为了记录自己在学习中遇到的问题以及解决方法,使得此博客成为和大家分享知识的平台!另一方面,为了锻炼自己的自制能力以及责任感吧~~撒花~~ 阅读全文
posted @ 2011-12-14 16:41 iavailable 阅读(143) 评论(0) 推荐(0) 编辑