
数据结构与算法
羊之草叶
Android开发者
展开
-
二叉查找树的元素删除算法
BinarySearchTree删除一个元素稍微有一些复杂,其方法这里zuoyige原创 2014-07-20 21:48:45 · 632 阅读 · 0 评论 -
图的深度优先遍历和广度优先遍历
深度优先遍历的非递归实现: 思路: 首先想到的是使用栈来实现,访问给定结点后,进栈;找到该结点的一个未访问的邻接点,访问、进栈;再对栈顶元素进行同样操作,找到它的一个未访问的邻接点,访问、进栈;依次类推,直到栈空。 伪代码: 1.栈的初始化; 2.输出起始顶点;起始顶点置为已访问,将起始顶点压入栈; 3.重复下列操作,直到栈空: 3.1 取栈顶元素顶点,注意这里不出栈;原创 2014-07-29 00:25:00 · 874 阅读 · 1 评论 -
KMP算法的理解
什么是KMP算法? 模式串 char[] pat = new char[M]; 文本串 char[] txt = new char[N]; 假设当前正在比较的字符是txt[i]和pat[j], 即pat[0, j - 1]已经匹配成功。txt[i]后面的字符处于未知状态。原创 2014-11-08 23:15:14 · 413 阅读 · 0 评论 -
回溯法实例-深度优先搜索
如下图所示的图,采用深度优先搜索(DFS)进行遍历: 描述一下问题的解决方案: 在访问其中一个顶点时: 1) 将它标记为已访问; 2) 递归的访问它的所有没有被标记过的邻居顶点。 选择某一顶点为遍历的起始顶点,即可遍历图(连通图)的所有顶点。 boolean[] marked = new boolean[g.V()]; //marked数组大小为图的顶点个数。原创 2014-12-07 19:42:01 · 1580 阅读 · 0 评论 -
C/C++中的日期和时间 time_t与struct tm变换
摘要: 本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h 头文件中声明的各种函数和数据结构的详细使用方法。 关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元) 1.概转载 2015-07-09 10:00:01 · 652 阅读 · 0 评论