
数据结构
华秋实
likeyockie@163.com
展开
-
设计模式备忘录(未完)
组件协作模式组件协作模式通过晚期绑定,来实现框架和应用程序之间的松耦合,是二者之间协作时常用的模式。典型模式:模板方法观察者策略模板方法算法骨架不变,子步骤经常发生变化,或者需要晚期实现。观察者定义对象间的一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖它的对象都得到通知并自动更新。策略...原创 2020-10-27 00:52:57 · 223 阅读 · 0 评论 -
[收集]二叉树和多叉树的非递归算法
一、二叉树的非递归遍历 (本部分转自:http://www.cnblogs.com/MichaelYin/archive/2010/12/23/1915316.html)二叉树的遍历如果使用递归调用基本没什么问题,这里主要是讲如何使用非递归方法实现二叉树的遍历。由于递归调用程序实际上使用了栈来保存方法中的变量值,在非递归遍历的方法中我们需要基于栈的方法。先来看看这个方法转载 2011-11-02 15:43:09 · 3209 阅读 · 0 评论 -
n元一维向量向左旋转i个位置
第一篇原创。。 在《编程珠玑》第2章的开头有三个问题,其中的第2个问题,即问题B是这样的: 将一个n元一维向量向左旋转i个位置,例如,当n=8且i=3时,向量abcdefgh旋转为defghabc。简单的代码使用一个n元的中间向量在n步内完成该工作,要求仅用几十个额外字节的存储空间、O(n)的时间内完成向量的旋转。 我首先想到的是:将a数组的前i个元素复制到一个临时数原创 2011-11-02 15:52:10 · 1745 阅读 · 0 评论 -
使用QueryPerformanceFrequency、QueryPerformanceCounter精确计时
一、QueryPerformanceFrequency()-基本介绍类型:Win32API原型:BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency);作用:返回硬件支持的高精度计数器的频率。返回值:非零,硬件支持高精度计数器;零,硬件不支持,读取失败。 二、QueryPerformanceCounter()-基本转载 2012-06-25 16:18:17 · 3108 阅读 · 0 评论 -
判断一个单链表是否有环,如果有,找出环的起始位置
第一种方法是从单链表head开始,每遍历一个,就把那个node放在hashset里,走到下一个的时候,把该node放在hashset里查找,如果有相同的,就表示有环,如果走到单链表最后一个node,在hashset里都没有重复的node,就表示没有环。 这种方法需要O(n)的空间和时间。 第二种方法是设置两个指针指向单链表的head, 然后开始遍历,第一个指针走一步转载 2012-07-31 10:43:45 · 1464 阅读 · 0 评论 -
求二叉树中结点的最大距离
#include using namespace std;//*************************************//题目:// 求一棵二叉树中距离相差最远的两个结点之间的距离。// // //思路:注意指针声明了一定要赋值,否则会报错。// 方法一:递归法//距离相差最远的两个结点,共有以下两种情况:// (1转载 2012-07-31 11:27:59 · 1519 阅读 · 0 评论