
数据结构和算法
凯旋的皇阿玛
小白
展开
-
排序之快速排序
有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放在6的右边,比基准数小...转载 2019-03-20 20:30:59 · 247 阅读 · 0 评论 -
Python实现图结构
Graph(保存顶点的主列表)和 Vertex(将表示图中的每个顶点)构造函数只是初始化 id ,通常是一个字符串和 connectedTo 字典。 addNeighbor 方法用于从这个顶点添加一个连接到另一个。getConnections 方法返回邻接表中的所有顶点,如 connectedTo 实例变量所示。 getWeight 方法返回从这个顶点到作为参数传递的顶点的边的权重。class...翻译 2019-05-24 22:14:42 · 5708 阅读 · 1 评论 -
Prim算法实现
# -*- coding: utf-8 -*-# @Time : 2019/5/25 12:31# @Author : WHS# @FileName: text.py# @Software: PyCharm# @Python Version:3.6.0from collections import defaultdictfrom heapq import heapify,he...翻译 2019-05-25 13:23:08 · 295 阅读 · 0 评论 -
字符串匹配之KMP算法
KMP算法的难点在于next数组和前缀表KMP算法流程:假设现在文本串 S 匹配到 i 位置,模式串 P 匹配到 j 位置如果 j = -1,或者当前字符匹配成功(即 S[i] == P[j] ),都令 i++,j++,继续匹配下一个字符;如果 j != -1,且当前字符匹配失败(即 S[i] != P[j] ),则令 i 不变,j = next[j]。此举意味着失配时,模式串 P相对于...翻译 2019-07-26 08:57:33 · 194 阅读 · 0 评论 -
排序算法C++实现
排序文章目录冒泡排序选择排序插入排序快速排序希尔排序归并排序堆排序基数排序冒泡排序void BubbleSort(int *num, int length){ int flag; //标记位,如果在一趟中未发生交换,则已经排序完成 for (int i = 0; i < length - 1; i++) //表示趟数 { flag = 0; for (int j = ...原创 2019-08-05 21:14:34 · 345 阅读 · 0 评论