数据结构及算法
文章平均质量分 94
光谷中心城打工人
资深菜鸡,万金油程序员,好读书,不求甚解。
写文章目的一半当作给自己的记录,一半给有缘的看。
想到哪,写到哪。
展开
-
巧用static变量初始化结构体!
本技巧属于编程中的 奇技淫巧。 我们封装接口时经常会涉及到类似以下的代码,它的init函数对接口涉及到的结构体进行初始化 ,通常是清0, 大多数情况下我们会用memset操作结构体 ,如下。typedef struct tag_interface{ int a; int b; char sztest[10];} interface_t, * inte...原创 2020-04-28 17:53:42 · 3828 阅读 · 0 评论 -
详解Linux内核之双向循环链表 By邪恶八进制
[转载]详解Linux内核之双向循环链表详解Linux内核之双向循环链表<br /><br />信息来源:邪恶八进制信息安全团队(www.eviloctal.com)<br /><br />摘要: 本文详解了内核中面向对象的list结构的原理,以及如何以list为内嵌对象来构造自己的链表结构,如何从内嵌list对象获得自定义的对象指针;探讨了各种宏或者函数的详细使用方法及怎样以通用list结构来操作自定义对象。<br /><br />关键字: 双向循环链表,list,list_entry,ty转载 2010-09-10 09:26:00 · 631 阅读 · 1 评论 -
暴雪游戏(Blizzard)的高效哈希算法
先提一个简单的问题,如果有一个庞大的字符串数组,然后给你一个单独的字符串,让你从这个数组中查找是否有这个字符串并找到它,你会怎么做?有一个方法最简单,老老实实从头查到尾,一个一个比较,直到找到为止,我想只要学过程序设计的人都能把这样一个程序作出来,但要是有程序员把这样的程序交给用户,我只能用无语来评价,或许它真的能工作,但...也只能如此了。最合适的算法自然是使用HashTable(哈希表),先介绍介绍其中的基本知识,所谓Hash,一般是一个整数,通过某种算法,可以把一个字符串"压缩" 成一个整数,这个数称转载 2010-09-03 15:11:00 · 737 阅读 · 0 评论 -
类封装 暴雪 哈希表
<br /> 近期由于需要,研究了魔兽文件打包管理器的相关算法,重点对其文件索引表的生成和查找进行了研究:采用哈希表进行,在冲突方面的处理方面,采用线性探测再散列。在添加和查找过程中进行了三次哈希,第一个哈希值用来查找,后两个哈希值用来校验,这样可以大大减少冲突的几率。 <br /> 这里对其进行了简单的封装,扩展时,仅仅需要对结构体进行扩展即可。更为详细的说明,参考代码:【转载请保留版权,谢谢】<br /> <br />一、类声明头文件<br /> ////////////////转载 2010-09-03 16:22:00 · 510 阅读 · 0 评论 -
TrieTree(字典树,前缀树) 的实现 (增删改查)
字典树TrieTree 的增删改查原创 2016-08-24 11:39:44 · 4954 阅读 · 0 评论