概述 Bellman Ford算法可以用来解决加权图中的最短路径问题。其与Dijkstra算法的区别在于Belllman Ford算法的应用范围更广,例如其可以用来处理带有负权重的加权图中的最短路径问题。由于Dijkst…
分类:数据结构
Go语言数据结构和算法-LinkedList(链表)
Go语言数据结构和算法-LinkedList(链表) Prepend(item) // 在链表头新增一个元素 Append(item) // 在链表尾追加一个元素 InsertAt(i,item) // 在索引i处插入一…
程序员进阶之算法练习(三十五)LeetCode专场
前言 LeetCode上的题目是大公司面试常见的算法题,今天的目标是拿下5道算法题: 题目1是基于链表的大数加法,既考察基本数据结构的了解,又考察在处理加法过程中的边界处理; 题目2是求数组出现频率前k大的数字,考察思维…
优秀的程序猿解题之 LeetCode 第三题:Longest Substring Without Repeating Characters
Tips:所有代码实现包含三种语言(java、c++、python3) 题目 Given a string, find the length of the longest substring without repeat…
Python数据结构实现图
图 图是由边或者弧连接起来的节点的网络。在有向图中,节点之间的连接是有方向的,叫做弧(arcs)。在无向图中,节点间的连接没有方向,叫做边(edge)。图算法包括查找两点间路径、两点间的最短路径、判断一个图中是否存在环(…
删除链表中的节点
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 — head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 -> …
HDOJ1272——判断无向图的连通性
题目描述 给定一个无向图,判断该图任意两点之间是否有且仅有一条路径可以相通 题目思路 并查集可以维护是否属于同一组这一信息 本题中如果两个点属于同一组,则说明它们连通 对于输入的两个点,如果它们不在同一个组,将它们合并到…
优先队列
一个很简单的数据结构,但上午我还写错了,写这篇文章只是为了整理一下思路。参考:《算法导论》,《挑战程序设计》 什么是优先队列 百度百科 队列是一种特殊的线性表, 特殊之处在于它只允许在表的前端(front)进行删除操作,…
插入排序lua
cocos2d-x技术群新群:117871561 c++技术交流群:593010226 --插入排序(降序) function insertSort(table) --第二个元素开始 for i = 2, #table …
考研数据结构笔记——2.线性表的链式表示(复杂链表)
考研数据结构笔记——2.线性表的链式表示(复杂链表) 双链表 单链表存在的不足是,由于其结点中只有一个指向其后继结点的指针,导致单链表只能从头结点依次向后遍历;如果要访问某个结点的前驱节点,则必须从头开始遍历;访问后继结…
leecode刷题(11)-- 反转字符串
leecode刷题(11)– 反转字符串 反转字符串 描述: 编写一个函数,其作用是将输入的字符串反转过来。 示例 1: 输入: "hello" 输出: "olleh" 示例 2: 输入: "A man, a…
安卓算法01-蛮力法
算法01-蛮力法 一、蛮力法介绍 蛮力法(brute force method,也称为穷举法或枚举法)是一种简单直接地解决问题的方法,常常直接基于问题的描述,所以,蛮力法也是最容易应用的方法。但是,用蛮力法设计的算法时间…