随笔分类 - algorithm
摘要:(1) 对于一个单向链表,试写出找到它的倒数第m个元素的函数,注意变量命名、注释、时间复杂度、空间复杂度。注:要求写出可编译并可以运行通过的程序代码。 https://github.com/yangxt225/findMLastNode (2) 写一个千位分隔符算法,函数原型是char * form
阅读全文
摘要:在看下面这篇文章之前,先介绍几个理论知识,有助于理解A*算法。 启发式搜索:启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无谓的搜索路径,提到了效率。在启发式搜索中,对位置的估价是十分重要的。采用了不同的估价可以有不同的效果
阅读全文
摘要:Dijkstra算法概述 Dijkstra算法概述 Dijkstra算法是由荷兰计算机科学家狄克斯特拉(Dijkstra)于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图(无向图是一种特殊的有向图,当然也可以)中最短路径问题(单源最短路径)。 其基
阅读全文
摘要:在 红黑树详解 文章中,二叉搜索树具有对数平均时间的表现是构造在这样的假设下的:输入数据有足够的随机性。 本篇介绍的hashtable(散列表)的数据结构,在插入、删除、搜寻等操作上也具有“常数平均时间”的表现,而且这种表现是以统计数据为基础,不需仰赖输入元素的随机性。 1. hashtable 概
阅读全文
摘要:在介绍红黑树之前,有必要对树的概念以及相关理论作一个概述: 树 1. 树的导览 树由节点(Nodes)和 边(edges)构成。树有根节点(root),边(deges),父节点(parent),子节点(child),叶节点(leaf)。如果最多只允许两个子节点,即所谓的二叉树(binary tree
阅读全文
摘要:heap(隐式表述,implicit representation) 1. heap概述 : vector + heap算法 heap并不归属于STL容器组件,它是个幕后英雄,扮演priority queue的助手。顾名思义,priority queue允许用户以任何次序将任何元素推入容器内,但取出
阅读全文
摘要:一、二叉树深度优先(DFS)和广度优先(BFS)搜索算法 树的相关概念参见 红黑树详解 (1)深度优先搜索算法(Depth First Search),是搜索算法的一种。是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过
阅读全文
摘要:打印质数的算法应该是学习计算机编程的一个经典的问题,在这里想给大家展示一些方法,相信这些方法会对你的编程有一定的启发作用。请你注意几点,实际应用和教学应用有很大的差别。最后的那个使用编译时而不是运行时的方法大家可以重点看看。教科书的示例首先,先给一个教科书的示例。下面这个示例应该是教科书(至少是我上...
阅读全文
摘要:1.问题定义 电梯大家对于大家已经是很熟悉了,现在存在这样的问题,那就是在繁忙的上下班时间,在每层楼电梯都要停。这显然让很多办公室在高层的同志有点受不了。现在要求是这样:由于这个电梯楼层并不高,所以电梯只在一个楼层停,这样做电梯的每个人都在这个楼层走到自己想去的楼层。那么怎么知道电梯每次在哪个楼层停...
阅读全文

浙公网安备 33010602011771号