yofer张耀琦的专栏

数学之法,世界之道

二分法小程序的问题

今天写这个小程序的时候把边界写错了,顺便说一下这个程序几个需要注意的点: //首先要把握下面几个要点: //right=n-1 => while(left right=middle-1; //right=n => while(left right=middle; ...

2015-09-14 20:16:20

阅读数:432

评论数:0

从头到尾解析Hash表算法

via:点击打开链接               十一、从头到尾解析Hash 表算法 作者:July、wuliming、pkuoliver   出处:http://blog.csdn.net/v_JULY_v。   说明:本文分为三部分内容,     第一部分为一道百度面...

2015-09-10 20:52:51

阅读数:545

评论数:0

程序员编程艺术:第三章续、Top K算法问题的实现

程序员编程艺术:第三章续、Top K算法问题的实现     作者:July,zhouzhenren,yansha。     致谢:微软100题实现组,狂想曲创作组。     时间:2011年05月08日     微博:http://weibo.com/julyweibo 。   ...

2015-08-18 09:51:30

阅读数:1052

评论数:0

海量数据处理 - 10亿个数中找出最大的10000个数(top K问题)

前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小堆比较好一些。         先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,...

2015-08-16 00:09:54

阅读数:35588

评论数:15

队列类 - 链式存储

代码: // linkqueue.hpp // 队列类 #pragma once #include "linklist.hpp" template class LinkQueue { public: LinkQueue(); ~LinkQueue(); publi...

2015-07-20 15:01:18

阅读数:448

评论数:0

栈类 - 链式存储

代码: // linkstack.hpp // 栈类 #pragma once #include "linklist.hpp" template class LinkStack { public: LinkStack(); ~LinkStack(); public...

2015-07-20 14:27:56

阅读数:488

评论数:0

线索化 - 遍历思想,流程,代码

1、前言 普通二叉树只能找到结点的左右孩子信息,而该结点的直接前驱和直接后继只能在遍历过程中获得。 若可将遍历后对应的有关前驱和后继预存起来,则从第一个结点开始就能很快“顺藤摸瓜”而遍历整个树了。 二叉线索树思想是干什么的? 中序遍历这棵树===》转换成链表访问 2线索化...

2015-07-19 20:29:46

阅读数:753

评论数:0

创建树 - #号法

#创建树,让树的每一个节点都变成度数为2的树 通过先序遍历124###3##可以唯一确定一棵树。 // nonrecursion.cpp // 对树的操作 #define _CRT_SECURE_NO_WARNINGS #include #include #include usi...

2015-07-19 18:37:54

阅读数:1487

评论数:1

树的非递归遍历(中序遍历)

中序 遍历的几种情况 分析1:什么时候访问根、什么时候访问左子树、什么访问右子树        当左子树为空或者左子树已经访问完毕以后,再访问根        访问完毕根以后,再访问右子树。 分析2:非递归遍历树,访问结点时,为什么是栈,而不是其他模型(比如说是队列)。         ...

2015-07-18 22:58:23

阅读数:537

评论数:0

求二叉树深度和copy二叉树

// operatorTree.cpp // 对树的操作 #include #include // 二叉树表示法 typedef struct BiTNode { int data; struct BiTNode *lchild, *rchild; }BiTNode, *BiTree;...

2015-07-18 22:02:07

阅读数:485

评论数:0

计算二叉树叶子结点,加深理解遍历的本质

// 1递归函数遇到全局变量,最好转化成函数参数 // 2遍历的本质强化 // 访问树的路径是相同,只不过是计算叶子结点的时机不同。

2015-07-18 21:19:35

阅读数:506

评论数:0

二叉树的遍历本质 - 前序,中序,后序

遍历算法的访问路径是相同的,只是访问结点的时机不同

2015-07-18 20:59:55

阅读数:594

评论数:0

树的3种表示法

// 二叉树表示法 typedef struct BiTNode { int data; struct BiTNode *lchild, *rchild; }BiTNode, *BiTree; // 三叉链表表示法 typedef struct TriTNode { int data; ...

2015-07-18 16:12:44

阅读数:1001

评论数:0

队列链式存储 - 设计与实现 - API函数

队列相关基础内容参我的博文: 队列顺序存储 - 设计与实现 - API函数 队列也是一种特殊的线性表;可以用线性表链式存储来模拟队列的链式存储。 主要代码: // linkqueue.h // 队列链式存储API声明 #ifndef _LINKQUEUE_H_ #define _LIN...

2015-07-16 14:30:12

阅读数:726

评论数:0

队列顺序存储 - 设计与实现 - API函数

队列是一种特殊的线性表 队列仅在线性表的两端进行操作 队头(Front):取出数据元素的一端 队尾(Rear):插入数据元素的一端 队列不允许在中间部位进行操作! queue常用操作 销毁队列 清空队列 进队列 出队列 获取队头元素 获取队列的长度 队列也是一种特殊的线性表;可以用线性表顺...

2015-07-16 13:39:17

阅读数:671

评论数:0

栈应用 - 后缀表达式的计算

有关栈API详情参看我的另一篇博文: 栈的链式存储 - API实现 遍历后缀表达式中的数字和符号 对于数字:进栈 对于符号: 从栈中弹出右操作数 从栈中弹出左操作数 根据符号进行运算 将运算结果压入栈中 遍历结束:栈中的唯一数字为计算结果 #include #include "Link...

2015-07-13 19:48:54

阅读数:984

评论数:0

栈的应用 - 中缀表达式转后缀表达式

有关栈API详情请参看我的另一篇博文:栈的链式存储 - API实现 实例: 5 + 4=> 5 4 + 1 + 2 * 3 => 1 2 3 * + 8 + ( 3 – 1 ) * 5 => 8 3 1 – 5 * +  中缀表达式符合人类的阅读和思维习惯 后缀表达式符合计算...

2015-07-13 19:44:57

阅读数:649

评论数:1

栈的应用 - 就近匹配

链式存储栈的API详情参看我的博文:栈的链式存储 - API实现 就近匹配  几乎所有的编译器都具有检测括号是否匹配的能力 如何实现编译器中的符号成对检测? #include int main() { int a[4][4]; int (*p)[4]; p = a[0]; retur...

2015-07-13 17:12:21

阅读数:615

评论数:0

栈的链式存储 - API实现

基本概念 其他概念详情参看前一篇博文:栈的顺序存储 - 设计与实现 - API实现 这里也是运用了链表的链式存储API快速实现了栈的API。 代码: // linkstack.h // 链式存储栈的API声明 #ifndef _MY_LINKSTACK_H_ #define ...

2015-07-13 15:51:45

阅读数:1059

评论数:0

栈的顺序存储 - 设计与实现 - API实现

Stack基本概念 栈是一种 特殊的线性表 栈仅能在线性表的一端进行操作 栈顶(Top):允许操作的一端 栈底(Bottom):不允许操作的一端 Stack的常用操作 创建栈 销毁栈 清空栈 进栈 出栈 获取栈顶元素 获取栈的大小  栈模型和链表模型关系分析 栈的顺序存储设计与实现 ...

2015-07-13 13:37:49

阅读数:799

评论数:0

提示
确定要删除当前文章?
取消 删除