随笔分类 - 算法思考
摘要:Dijkstra算法 说明:求解从起点到任意点的最短距离,注意该算法应用于没有负边的图。 来,看图。 用邻接矩阵表示 备注:第一行(从第零行开始)表示A,第一列(从第零列开始)表示A。m[1][2]表示A到B的距离,如果没有相连则赋值为0。 首先用dist[i]数组表示从起点到该点的距离,比如dis
阅读全文
摘要:算法简介:广度优先搜索 问题 给定一个一幅图和一个起点s,回答“从s到给定的顶点v是否存在一条路径?如果有,找出其中最短的那条(所含边数最少)。“ 思路 边数最少,很自然想到从从经过1条边能到达的节点有哪些?然后经过这些边再到达的节点有哪些?这样我不就能够想出来最短的路径了吗?没错,这是非常简单的想
阅读全文
摘要:前言 这几天学习了队列,于是尝试了一下Joseph Problem,然后一直有一个地方没有通过,终于经点拨后,通过了。对于队列的使用还是加深了印象。建议如果队列的练手可以去尝试解决这个问题。 正文 Joseph Problem(35分) 铺垫: 假设有N个人围成一圈,然后第一个人把第二个人杀了,刀子
阅读全文
摘要:前言 今天遇到求逆序对的问题,经过一番思索之后,特意来总结一下。因为也学习到了很多方法,以前自己一些百思不得其解的问题也有了解答。 正文 先上一个简单的问题: 分析:题目中说使用插入排序,也就是在排序过程中计算交换的次数,按照插入排序的原理,先定第一个,再定前两个的顺序,以此类推,只要交换了,我的次
阅读全文
摘要:前言 许多基础数据类型都和对象的集合有关。具体来说,数据类型的值就是一组对象的集合,所有操作都是关于添加,删除或是访问集合中的对象。接下来,介绍三种数据类型,背包,队列,栈。语言是表达的载体,所以不可避免在表达算法时,依赖于语言的一些特性。 正文 介绍两种表示对象集合的方式,即数组和链表。两种都非常
阅读全文

浙公网安备 33010602011771号