会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Forever Hello World
Oh, my god. Segment fault.
博客园
新随笔
管理
随笔分类 -
数据结构
优先队列之二叉堆
摘要:在操作系统中,调度程序必须决定在什么时候运行哪个进程。一般来说,短的作业是需要尽可能快地完成,也就是说,短的作业应该拥有优先权。这种特殊的应用将由一种特殊的队列来完成,这种数据结构叫做优先队列,属于计算机科学中最讲究的一种。一、最基本的两种操作 优先队列具备的最基本的两种操作,是插入和删除最小者。插入操作相当于入列,而删除操作相当于出队。只是这里有一些地方是不同的,不像之前出队和入队操作那么简单...
阅读全文
posted @
2010-10-30 16:18
Linjian
阅读(1052)
评论(1)
推荐(0)
构造一棵表达树
摘要:把后缀表达式转变成表达树,然后再后序遍历表达数,把后序遍历后的结果输出。这里,要配合两种数据结构,第一就是栈,第二就是二叉树。所以,我把这些不同的数据结构分别放进不同的.c文件作为不同的模块,还有一个模块是核心模块,就是把后缀表达式转变成表达树的功能。最后,main.c里面存放的只是测试代码。栈的头文件:stack.h栈的实现函数:stack.c二叉树的头文件:btree.h二叉树实现文件:btr...
阅读全文
posted @
2010-10-23 17:20
Linjian
阅读(489)
评论(0)
推荐(0)
循环队列数组实现
摘要:循环队列的数组实现:queue.hqueue.cqueue.c
阅读全文
posted @
2010-10-23 13:17
Linjian
阅读(953)
评论(0)
推荐(1)
中缀表达式计算
摘要:国庆后工作很忙,没什么时间看自己的书了。晚上看数据结构,写一个中缀表达式转换成后缀再进行计算的小程序。中缀转换成后缀的核心代码我没花心思去简化逻辑了,该睡觉了。其中,栈是用数组来实现的。栈的头文件说明:stack.h栈的实现代码:[代码]main.c: 中缀转换为后缀,再进行计算的代码:[代码]测试结果:代码
阅读全文
posted @
2010-10-23 01:14
Linjian
阅读(646)
评论(0)
推荐(0)
求最大子序列
摘要:一直以来我有个错误的观点,就是数据结构和算法只要学习那些平时工作最常用的就可以了。这是典型的找借口行为。所以我打算开始认真复习好数据结构和算法,我目前熟悉的算法其实只有链表和动态数组,真是可悲。 Mark Allen Weiss那本《数据结构与算法分析》第二章,求最大子序列:-2 11 -4 13 -5 -2 最大子序列为20(11到13)。 题目不难,我也还没有看答案。目前我有个简单的想法:...
阅读全文
posted @
2010-09-15 00:04
Linjian
阅读(262)
评论(0)
推荐(0)
利用组合实现循环队列
摘要:最近在学习李先静老师的那本《系统程序员成长计划》,照着例子写了一个循环队列,利用单向循环链表实现,权当练习。1. 单向循环链表 我这里设计的只是一个单向循环链表,当然也可以设计为双向链表,效率应该也高点。只提供了需要用到的、最基本的接口给循环队列调用。要保持文头件的简洁,该给的都要给,不该让用户知道的一概不要加进去,否则会造成头文件组织混乱,给用户造成不必要的麻烦。链表的接口如下:代码 其中,...
阅读全文
posted @
2010-06-19 17:21
Linjian
阅读(552)
评论(0)
推荐(0)
公告