算法
first_wolf
linux
展开
-
哨兵
哨兵的作用 算法中引进的附加记录R[0]称监视哨或哨兵(Sentinel)。 哨兵有两个作用: ① 进人查找(插入位置)循环之前,它保存了R[i]的副本,使不致于因记录后移而丢失R[i]的内容; ② 它的主要作用是:在查找循环中"监视"下标变量j是否越界。一旦越界(即j=0),因为R[0].key和自己比较,循环判定条件不成立使得查找循环结束,从而避免了在该循环原创 2013-02-19 11:10:46 · 1040 阅读 · 0 评论 -
图(六)最短路径
待续原创 2013-06-19 17:29:55 · 697 阅读 · 0 评论 -
图(五)关键路径和拓扑排序
待续原创 2013-06-19 17:29:30 · 891 阅读 · 0 评论 -
图(四)最小生成树
待续原创 2013-06-19 17:28:37 · 774 阅读 · 0 评论 -
图(二)图的存储结构
待续原创 2013-06-19 17:27:47 · 691 阅读 · 0 评论 -
图(一)概述
待续原创 2013-06-19 17:27:27 · 699 阅读 · 0 评论 -
图(三)图的遍历(深度优先和广度优先)
待续原创 2013-06-19 17:28:17 · 958 阅读 · 0 评论 -
二叉查找树综述
1)二叉查找树: 基本操作的时间与树的高度(h)成正比。(O(h)) 基本操作:查找、最大最小关键元素、前驱和后继、插入和删除。 可以中序遍历可以顺序输出树中所有关键字。(2)红黑树 典型用途:实现关联数组。 红黑树是一种自平衡二叉查找树,是许多“平衡的”查找树中的一种,原创 2013-02-19 11:08:05 · 395 阅读 · 0 评论 -
从B 树、B+ 树、B* 树谈到R 树
第一节、B树、B+树、B*树1.前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自转载 2013-02-19 11:05:55 · 394 阅读 · 0 评论 -
程序局部性原理
一:一个编写良好的计算机程序往往具有良好的局部性。 程序的局部性原理:是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应地,执行所访问的存储空间也局限于某个内存区域。 局部性通常有两种形式: 时间局部性(temporal locality) 时间局部性指的是:被引用过一次的存储原创 2013-02-19 11:07:28 · 1021 阅读 · 0 评论 -
十道海量数据处理面试题
第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率转载 2013-02-19 10:56:50 · 529 阅读 · 0 评论 -
c语言字符串函数详解
void *memset(void *dest, int c, size_t count); 将dest前面count个字符置为字符c.返回dest的值. void *memmove(void *dest, const void *src, size_t count); 从src复制count字节的字符到dest. 如果src和dest出现重叠, 函数会自动处理. 返回de转载 2013-02-19 10:51:07 · 412 阅读 · 0 评论 -
栈与队列
一 栈: 栈满:S.top-S.base=S.stacksize; 栈空:S.top=S.base;二 队列: 循环队列(顺序): Q.rear:指向队列尾元素的下一位置; Q.front指向队列头元素。 返回队列中元素个数:(Q.rear-Q.front+MAXQSIZE)%MAXQSIZE; 队列满:(Q.rear+1)%MAX原创 2013-02-19 10:58:14 · 392 阅读 · 0 评论 -
套接字API(十一)recv和send函数
待续...原创 2013-08-03 21:54:36 · 704 阅读 · 0 评论