![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
国境之南Fantasy
Coder
展开
-
基数(radix)树 - 嵌入式系统书撰写 (转载)
基数(radix)树 Linux基数树(radix tree)是将指针与long整数键值相关联的机制,它存储有效率,并且可快速查询,用于指针与整数值的映射(如:IDR机制)、内存管理等。IDR(IDRadix)机制是将对象的身份鉴别号整数值ID与对象指针建立关联表,完成从ID与指针之间的相互转换。IDR机制使用radix树状结构作为由id进行索引获取指针的稀疏数组,通过使用位图可以快速转载 2011-12-19 18:02:18 · 1128 阅读 · 0 评论 -
ELF文件中section与segment的区别
1. ELF中的section主要提供给Linker使用, 而segment提供给Loader用,Linker需要关心.text, .rel.text, .data, .rodata等等,关键是Linker需要做relocation。而Loader只需要知道Read/Write/Execute的属性。a.out格式没有这种区分。(注意现在使用gcc编译出来的a.out文件只是取该名字而已,文件格式转载 2016-01-11 14:09:19 · 1822 阅读 · 0 评论 -
struct 字节对齐详解
一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型转载 2015-11-18 11:42:44 · 1920 阅读 · 0 评论 -
dijkstra,bellman-ford,floyd分析比较
from: http://blog.csdn.net/liyongbao1988/article/details/7546701其实我一直存在疑惑是什么导致dijkstra不能处理负权图?今日偶见某大牛说一句“dijkstra选定一个节点后节点值不在改变”,方才大悟。本质上就是dijkstra选点方式导致的(即贪心),只针对目前的情况作出最好的判断1)在非负权图中这转载 2012-09-24 17:18:23 · 1308 阅读 · 0 评论 -
Trie树
from:http://www.cnblogs.com/dolphin0520/archive/2011/10/11/2207886.html Trie树也称字典树,因为其效率很高,所以在在字符串查找、前缀匹配等中应用很广泛,其高效率是以空间为代价的。一.Trie树的原理 利用串构建一个字典树,这个字典树保存了串的公共前缀信息,因此可以降转载 2012-09-24 23:55:10 · 859 阅读 · 0 评论 -
SkipList 跳表
from:http://kenby.iteye.com/blog/1187303为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类转载 2012-09-24 14:53:08 · 684 阅读 · 0 评论 -
bloom filter
from:http://blog.163.com/kevinlee_2010/blog/static/1698208202011112810411190/一,什么是Bloom filterBloom filter 是由 Howard Bloom 在 1970 年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员,这种检测只会对在集转载 2012-09-14 16:24:31 · 532 阅读 · 0 评论 -
各种排序算法时间复杂度、空间复杂度比较
from:http://www.cnitblog.com/houcy/archive/2009/07/24/60349.html各种排序算法时间复杂度比较以上图片来维基百科,http://en.wikipedia.org/wiki/Algorithms 维基百科真是个好东东!转载 2012-09-13 11:15:50 · 739 阅读 · 0 评论 -
排序算法的稳定与不稳定
from: http://www.cnblogs.com/shengge/articles/2168136.html (非原创) 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。 其次,转载 2012-09-13 10:58:07 · 1301 阅读 · 0 评论 -
各种排序算法的时间复杂度
from: http://blog.csdn.net/pp______pp/article/details/6816908选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。冒泡法: 这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为转载 2012-09-13 00:21:27 · 1009 阅读 · 0 评论 -
ADO数据库编程-总结1
一、数据库操作准备1、导入ADO动态链接库 在工程的stdafx.h中加入如下语句: #import "c:\program files\common files\system\ado\msado15.dll" no_namespace\ rename("EOF","adoEOF") 这一语句有何作用呢?其最终作用同我们熟悉的#includ转载 2011-12-25 16:26:06 · 638 阅读 · 0 评论 -
可执行文件(ELF)格式的理解
ELF(Executable and Linking Format)是一种对象文件的格式,用于定义不同类型的对象文件(Object files)中都放了什么东西、以及都以什么样的格式去放这些东西。它自最早在 System V 系统上出现后,被 xNIX 世界所广泛接受,作为缺省的二进制文件格式来使用。可以说,ELF是构成众多xNIX系统的基础之一,所以作为嵌入式Linux系统乃至内核驱动程序开发人转载 2016-01-11 14:06:34 · 1264 阅读 · 0 评论