随笔分类 -  基础算法

摘要:首先,对于动态规划,我来做一个简短的介绍,相信各位都看得懂。动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。先给一道最简单的例题(小学奥数水平): 这就是一个模拟的动态规划法! 好了,现在开始认识一下最简单的动 阅读全文
posted @ 2017-11-06 23:07 hzzxLJY 阅读(414) 评论(0) 推荐(0)
摘要:树: 是 n(n>0)个结点的有限集合 T。在一棵树中满足如下两个条件:有且仅有一个称作根的结点;其余的结点可分为 m(m>=0)棵互不相交的有限集合 T1, T2, …Tm,其中每个集合又都是一棵树,并称其为根的子树。 因此,树的定义是递归的,树是一种递归数据结构。树的这种定义为树的递归处理带来了 阅读全文
posted @ 2017-10-02 10:38 hzzxLJY 阅读(155) 评论(0) 推荐(0)
摘要:一般情况下,深度有限搜索也适用于图的遍历,英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。 【重点】BFS和DFS的区别:说白了,也就是如图1-13所示: 【例】用DFS遍历如图1-14的图。 用DFS遍历 阅读全文
posted @ 2017-08-11 23:16 hzzxLJY 阅读(261) 评论(1) 推荐(0)
摘要:广度优先搜索(Breadth First Search),是很多重要的图的算法的原型。 重要的作用:遍历。对于图的遍历,一般有以下的基本思想: ①从图中某个顶点V0出发,并访问此顶点; ②从V0出发,访问V0的各个未曾访问的邻接点W1,W2,…,Wk;然后,依此从W1,W2,…,Wk 出发访问各自未 阅读全文
posted @ 2017-08-11 08:22 hzzxLJY 阅读(1805) 评论(0) 推荐(0)
摘要:队列(queue)在计算机科学中,是一种先进先出的线性表。它只允许在表的前端进行删除操作,而在表的后端进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 ——来自360百科 队列的储存:(大体的结构可以用数组或者链表来实现)一般有两个指针,允许插入的一端 阅读全文
posted @ 2017-08-11 08:18 hzzxLJY 阅读(235) 评论(0) 推荐(0)
摘要:栈(stack)是简单的数据结构,但在计算机中使用广泛。它是有序的元素集合。栈最显著的特征是LIFO (Last In, First Out, 后进先出)。 通常对栈的操作分为:进栈(push),出栈(pop)。 在对栈的处理中,需要有一个栈顶指针(top),如图1-1所示。 (图1-1) (图1- 阅读全文
posted @ 2017-08-11 08:17 hzzxLJY 阅读(249) 评论(0) 推荐(0)