自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

静下心来写算法

Stay Hungry && Stay Foolish.

  • 博客(9)
  • 资源 (10)
  • 收藏
  • 关注

原创 静下心来写算法(KMP算法)

好吧,我承认,这个算法真的很不好理解(应该是水平有限吧)。一开始,从严蔚敏的那本书上看了KMP算法,一开始没看懂,后来看了几遍还是没看懂,发现这个next数组挺神奇的,算法的原理其实不难,难的就是那个巧妙的next数组,花了很长时间思考这个数组。 1)算法介绍      KMP算法解决的问题是字符匹配,是由Knuth–Morris–Pratt共同开发出来的,这个算法把字符匹配的时间复杂度缩小到

2012-10-12 23:18:47 749

原创 静下心来写算法(之简单排序算法)

被快排整的头疼,以后再写,先写三个简单的排序(冒泡、选择、插入)轻松一下吧 先看一下对几种排序算法的测试结果 /* * 对10万随机数排序测试结果: * * 速度排名 算法 平均时间 * * 1 quick_sort 12 ms * 2 qsort 15 ms * 3 inse

2012-10-06 11:33:49 427

原创 静下心来写算法(之二叉树)

相信大家考计算机二级时都背过这个关于二叉树的概念,不过只有自己动手写出来时才会发现它的奇妙之处。 先巩固一下概念: 二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有个结点;深度为k的二叉树至多有个结点;对任何一棵二叉树T,如果其终端结点数为,度为2的结点数为,则。 1)二叉树数据结构  typedef st

2012-10-06 10:49:56 367

原创 静下心来写算法(之循环队列)

在循环队列里,由于入队时尾指针向前追赶头指针;出队时头指针向前追赶尾指针,造成队空和队满时头尾指针均相等。因此,不能通过条件front==rear来判别队列是"空"还是"满"。   解决这个问题的方法至少有两种:   1. 另设一布尔变量以区别队列的空和满;   2.另一种方式就是数据结构常用的: 队满时:(rear+1)%n==front,n为队列长度,所以可用的长度为n-1,这个要注意。

2012-10-06 00:13:20 441

原创 编程规范(写给自己的)

编程规范我觉得自己喜欢的就行了,不一定非得是Windows下的或Linux下的。当然,如果参与多人协同的项目时就有必要统一规范了,一下是网上找的一些基本常见的规范,为的是让代码更漂亮、更清晰。 宏定义的名称每个字母都用大写,名字要体现它在代码中的含义 #difine FALSE 0 较长的表达式要在低优先级处划分例如: report_or_not_flag = ((taskno

2012-10-05 12:01:07 465

原创 静下心来写算法(之栈)

以前做过一个C语言作业,题目是反转字符串的,当时第一个想法就是用栈实现,后来看了答案才发现有点大材小用了。。。      栈绝不只是反转字符串、进制转换、判断符号平衡这些作用,貌似还是函数调用、递归调用的基础,的确应该好好练习一下。 栈 1.先进后出表先进去的被压入栈底,最后入栈的数据在栈顶,只能从最上面一个一个取数据。 2.栈的长度要看栈顶的高度 1)设计栈的节点

2012-10-05 11:45:06 309

原创 静下心来写算法(之双向链表)

据说Linux内核里广泛应用了一种叫做双向循环链表的东西,听起来很高端的样子,像是是双链表的头尾节点连在一起了,以后用空在研究吧。下面还是练习下今天的双向链表吧,先不循环了。      双向链表比起单向链表貌似就是多了个前驱指针,使得对数据的操作更加方便了,可以方便的访问父节点而不用从头结点一个一个找了。但是代价还是不小的,每个结点都多出了4字节(32位系统上是这样的,其它平台还不清楚)的内存占

2012-10-05 00:15:20 433

原创 静下心来写算法(之单向链表)

像大部分同学一样,上学期的C语言课程设计里有个《学生信息管理系统》的题目,令人汗颜的是不少同学直接定义了一个大数组;当然老师也挺仁慈的,并不介意,毕竟实现了需求,而且代码写起来也简单多了,何乐而不为呢。      但是!但是!咱能不能专业点?也许系统配置没那么好,也许只有1KB的可用内存(尤其是缺乏资源的单片机上),这时候就要用到链表了。 链表:顾名思义就是把数据像链子一样串起来的一个表(ht

2012-10-04 19:47:33 442

原创 关于这个博客(无营养慎入)

关于这个博客 关于这个博客,这个博客,其实这个博客,其实,这个博客嘛 /* ...前后..左右..省略1万字*/就是你看到的那样啦。。。 它更像一个轻博客,从小语文不好,写不了很长的文字 像程序员一样,本人比较懒,所以更新有时候可能会很慢很慢或者非常慢  比较倾向于嵌入式方面,毕竟本人是电子信息工程专业的 给自己整理知识点的同时,如果能帮

2012-10-04 19:32:08 457

Linux设备驱动程序第三版

LINUX设备驱动程序(第3版)[高清PDF] 绝对正版,非翻译版的,非扫描版,绝对的打印版

2012-10-14

495个C语言问题

本书以问答的形式组织内容,讨论了学习或使用C语言的过程中经常遇到的一些问题。书中列出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等各个方面的主题,并分别给出了解答,而且结合代码示例阐明要点。   本书结构清晰,讲解透彻,是各高校相关专业C语言课程很好的教学参考书,也是各层次C程序员的优秀实践指南。

2012-10-05

高质量c编程指南

高质量c编程指南,教大家写出高质量的代码,从命名规则到函数设计。

2012-10-05

C语言库函数使用大全CHM版

C语言库函数使用大全CHM版,CHM是我比较喜欢的一种电子书形式,简明、实用。

2012-10-05

API函数参考手册

在网上把资料找全不容易,排起版来也是相当麻烦的,不过都过去了。CHM是我比较喜欢的一种电子书形式,简明、实用。API函数参考手册,windows下的API函数参考手册,

2012-10-05

c语言经典900例

c语言经典900例,适合C语言的初学者,内含各种C语言的实例。

2012-10-05

C经典数据结构算法

经典数据结构算法的C语言实现,适合数据结构的初学者。

2012-10-05

C语言课程设计-图书信息管理系统

C语言课程设计-图书信息管理系统,课程设计时写的,适合新手学习链表用。

2012-10-05

C语言课程设计-飞机订票系统

C语言课程设计-飞机订票系统,课程设计时写的。

2012-10-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除