转自 https://blog.csdn.net/u011489043/article/details/78683856 终于找了个时间,把三种静态查找算法简单总结了一下,与大家分享讨论。 1、顺序查找 1.1简介 顺序查找是在一个已知无(或有序)序队列中找出与给定关键字相同的数的具体位置。原理是让关键字与队列中的数逐个比较,直到找出与给定关键字相同的数为止。 代码实现 public static int orderSearch(int arr[], int target) { for (int i = 0; i …

2018年10月30日 0条评论 3点热度 阅读全文

来源:领扣 leetcode 28. 实现strStr() 题目:实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = “hello”, needle = “ll” 输出: 2 示例 2: 输入: haystack = “aaaaa”, needle = “bba” 输出: -1 说明: 当 needle 是空字符串时…

2018年10月29日 0条评论 3点热度 阅读全文

  在路由选择算法中都要用到求最短路径算法。最出名的求最短路径算法有两个,即Bellman-Ford 算法和 Dijkstra 算法。这两种算法的思路不同,但得出的结果是相同的。     下面只介绍Dijkstra算法,它的已知条件是整个网络拓扑和各链路的长度。   应注意到,若将已知的各链路长度改为链路时延或费用,这就相当于求任意两结点之间具有最小时延或最小费用的路径。因此,求最短路径的算法具有普遍的应用价值。 下面以图1的网络为例来讨论这种算法,即寻找从源结点到网络中其他各结点的最短路径。为方便起见,设源结点为…

2017年6月30日 0条评论 3点热度 阅读全文

【度娘说】: 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。 【实现】: /* input: 6 8 0 1 0 2 0 3 1 4 2 4 2 5 3 4 3 5 output: …

2015年11月26日 0条评论 2点热度 阅读全文

【描述】:  图的bfs 【输入】: 8 1 2 -1 0 3 4 -1 0 5 6 -1 1 7 -1 1 7 -1 2 7 -1 2 7 -1 3 4 5 6 -1 【输出】: 0 1 2 3 4 5 6 7 /* *图的广度优先遍历 *1.链式队列(链表的头节点中存数据、节点的尾插法、头节点的删除) *2.bfs 8 1 2 -1 0 3 4 -1 0 5 6 -1 1 7 -1 1 7 -1 2 7 -1 2 7 -1 3 4 5 6 -1 */ #include<iostream> …

2015年11月21日 0条评论 2点热度 阅读全文

【描述】:  该graph采用邻接表存储,首先创建图,然后对其进行深度优先遍历。 【输入】: 8 1 2 -1 0 3 4 -1 0 5 6 -1 1 7 -1 1 7 -1 2 7 -1 2 7 -1 3 4 5 6 -1 【输出】: 0 1 3 7 4 5 2 6  /* * 无向图的邻接表创建 8 1 2 -1 0 3 4 -1 0 5 6 -1 1 7 -1 1 7 -1 2 7 -1 2 7 -1 3 4 5 6 -1 */ #include<iostream> #incl…

2015年11月20日 0条评论 2点热度 阅读全文

【问题描述】编写按层次顺序(同一层自左至右)遍历二叉树的算法 【输入形式】A B * C * * D * *   【输出形式】A B D C /* 1.顺序循环队列 2.二叉树先序创建 3.二叉树层次遍历(队列实现) */ #include<stdio.h> #include<iostream> #include<malloc.h> #define MAX 50 using namespace std; /* 二叉树结构 */ typedef struct BTree{…

2015年10月29日 0条评论 10点热度 阅读全文

【问题描述】编写按层次顺序(同一层自左至右)遍历二叉树的算法 【输入形式】A B * C * * D * *   【输出形式】A B D C /* 1.顺序循环队列 2.二叉树先序创建 3.二叉树层次遍历(队列实现) */ #include<stdio.h> #include<iostream> #include<malloc.h> #define MAX 50 using namespace std; /* 二叉树结构 */ typedef struct BTree{…

2015年10月29日 0条评论 8点热度 阅读全文

Trie树,又称为字典树,是一种树形结构,是一种哈希树的变种,是一种用于快速检索的多叉树数据结构。 用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。 Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。 它有3个基本性质: 1、根节点不包含字符,除根节点外每一个节点都只包含一个字符。 2、从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。 3、每个节点的所有子节点包含的字符都不相同。 这是一个Trie结构的例子: 在这个Trie结构中…

2013年8月6日 0条评论 3点热度 阅读全文

    top K问题是一个经典的问题。     该问题描述为:输入n个整数,输出其中最小的k个元素,例如,输入  1,2,3,4,5,6,7,8 那么最小的4个元素就是1,2,3,4.     除了这个,top K问题还指:常遇到的一类问题是,在海量数据中找出出现频率最高的前K个数,或者从海量数据中找出最大的前K个数,这类问题通常称为“top K”问题,如:在搜索引擎中,统计搜索最热门的10个查询词;在歌曲库中统计…

2012年8月14日 0条评论 2点热度 阅读全文