一、基本数据结构 1 union m_block 2 { 3 union m_block* next; 4 unsigned int size; 5 }; 6 7 struct m_list 8 { 9 union m_block* free;...
分类:
系统相关 时间:
2014-06-19 07:59:56
阅读次数:
309
我个人比较喜欢学习数据结构,而Linux内核中实现的数据结构会是我们去学习、理解和应用数据结构的一个很好途径。这里介绍内核中广泛应用的四种数据结构:链表、队列、映射和二叉树。
链表:
Linux内核讲求高效精简,所以有时需要我们动态去创建和分配内存,这时就要借助链表,我们根据实际情况分配内存后,只需修改链表的指针,仍能索引到刚分配的内存区。链表分单向链表、双向链表和循环链表。...
分类:
系统相关 时间:
2014-06-15 15:19:43
阅读次数:
343
题目链接:Codeforces 437D The Child and Zoo
题目大意:小孩子去参观动物园,动物园分很多个区,每个区有若干种动物,拥有的动物种数作为该区的权值。然后有m条路,每条路的权值为该条路连接的两个区中权值较小的一个。如果两个区没有直接连接,那么f值即为从一个区走到另一个区中所经过的路中权值最小的值做为权值。问,平均两个区之间移动的权值为多少。
解题思路:并查集+...
分类:
其他好文 时间:
2014-06-15 15:12:33
阅读次数:
157
本文出自:点击打开链接
本来在做数据结构课程设计。。想用随机数生成测试数据,然后看到随机数就不由自主的想到精度问题,想到精度问题又想到随机数生成的时间问题,想到时间问题又想到调用系统随机数生成问题。。呵呵呵呵呵。
C语言调用Linux系统随机数:linux C程序中获取shell脚本输出
C语言往里写就好说了(Linux)
system("
echo `"+内容+"` > 文件名...
分类:
编程语言 时间:
2014-06-15 11:25:38
阅读次数:
227
二叉树(Binary Tree)是个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个结点。基本概念:(1)结点的度。结点所拥有的子树的个数称为该结点的度。(2)叶...
分类:
其他好文 时间:
2014-06-15 11:14:30
阅读次数:
255
本文出自:http://blog.csdn.net/svitter
题目12:计算机学院学生会的打印机(优先队列)
小明抱怨学生会的打印机不符合FIFO的原则,看到许多在他后面来打印的同学比他先打印出来。五分钟前,小明的文件就是下一个候选的,现在小明的文件又排到了后面。学生会的同学给小明解释说,学生会的打印机不是采用传统的队列方式,而是采用一种自己定义的优先队列方式:每个要打印的文件被赋予...
分类:
其他好文 时间:
2014-06-15 10:59:45
阅读次数:
324
在ECMAScript中引用类型是一种数据结构,用于将数据和功能组织在一起,而对象时引用类型的一个实例。尽管ECMAScript从技术上讲是一门面向对象的语言,但它不具备传统的面向对象语言所支持的类和接口等基本结构,所以虽然说引用类型与类看起来想死,但他们并不是相同的概念。不过引用类型有的时候也可以...
分类:
Web程序 时间:
2014-06-14 15:17:08
阅读次数:
229
背景
由于某种原因,我们系统需要记录另一个系统中一个表里的id。
但是,当我们记录完了以后,别人系统可能会删除那个表里的一些数据,这样的话,我们这边就多了一些无效数据,所以,我们必须的找到这些无效的id,然后将其删除。
开始,我们的实现是这样:我们将记录下来的所有id放在一个list里,然后传到另一个系统,他将他们已经删除的id返回。具体处理代码如下:
public String f...
分类:
其他好文 时间:
2014-06-14 15:06:57
阅读次数:
234
1. trie树,又名字典树,顾名思义,它是可以用来作字符串查找的数据结构,它的查找效率比散列表还要高。
trie树的建树:
比如有字符串”ab” ,“adb”,“adc” 可以建立字典树如图:
树的根节点head不存储信息,它有26个next指针,分别对应着字符a,b,c等。插入字符串ab时,next[‘a’-‘a’]即next[0]为空,这...
分类:
其他好文 时间:
2014-06-14 14:25:50
阅读次数:
406