• Hark的数据结构与算法练习之锦标赛排序

    时间:2023-12-01 08:18:18

    算法说明锦标赛排序是选择排序的一种。实际上堆排序是锦标赛排序的优化版本,它们时间复杂度都是O(nlog2n),不同之处是堆排序的空间复杂度(O(1))远远低于锦标赛的空间复杂度(O(2n-1))堆排序是基于二叉树的, 所以锦标赛排序也是基于二叉树的,并且是完美二叉树。我尝试用最通俗的方法来做一下解释...

  • 4-4-串的KMP匹配算法-串-第4章-《数据结构》课本源码-严蔚敏吴伟民版

    时间:2023-11-30 16:54:50

    课本源码部分第4章  串 - KMP匹配算法——《数据结构》-严蔚敏.吴伟民版       源码使用说明  链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明       课本源码合辑  链接☛☛☛ 《数据结构》课本源码合辑       习题集全解析  链接☛☛☛ 《...

  • 7-6-有向图强连通分量的Kosaraju算法-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版

    时间:2023-11-30 16:33:45

    课本源码部分第7章  图 - 有向图强连通分量的Kosaraju算法——《数据结构》-严蔚敏.吴伟民版       源码使用说明  链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明       课本源码合辑  链接☛☛☛ 《数据结构》课本源码合辑       习题集...

  • javascript实现数据结构与算法系列:队列 -- 链队列和循环队列实现及示例

    时间:2023-11-29 19:37:00

    1 队列的基本概念队列(Queue):也是运算受限的线性表。是一种先进先出(First In First Out ,简称FIFO)的线性表。只允许在表的一端进行插入,而在另一端进行删除。队首(front) :允许进行删除的一端称为队首。队尾(rear) :允许进行插入的一端称为队尾。 例如:排队购物...

  • 在Object-C中学习数据结构与算法之排序算法

    时间:2023-11-25 15:54:25

    笔者在学习数据结构与算法时,尝试着将排序算法以动画的形式呈现出来更加方便理解记忆,本文配合Demo 在Object-C中学习数据结构与算法之排序算法阅读更佳。目录选择排序冒泡排序插入排序快速排序双路快速排序三路快速排序堆排序总结与收获参考与阅读选择排序选择排序是一种简单直观的排序算法,无论什么数据进...

  • mysqll底层分享(一):MySQL索引背后的数据结构及算法原理

    时间:2023-11-25 15:50:56

    http://www.uml.org.cn/sjjm/201107145.asp#nav-2http://tech.it168.com/a2011/0711/1216/000001216087_all.shtml

  • 算法与数据结构基础 - 堆(Heap)和优先级队列(Priority queue)

    时间:2023-11-25 14:37:04

    堆基础堆(Heap)是具有这样性质的数据结构:1/完全二叉树 2/所有节点的值大于等于(或小于等于)子节点的值:图片来源:这里堆可以用数组存储,插入、删除会触发节点shift_down、shift_up操作,时间复杂度O(logn),可视化构建堆堆是优先级队列(Priority queue)的底层数...

  • js图的数据结构处理---迪杰斯特拉算法

    时间:2023-11-24 20:32:48

    /*//1、确定数据结构, mapf[i][j] 为点i到点j的距离[Infinity 2 5 Infinity InfinityInfinity Infinity 2 6 InfinityInfinity Infinity Infinity 71Infin...

  • 二叉树的实现 -- 数据结构与算法的javascript描述 第十章

    时间:2023-11-24 09:59:11

    /** * 树,一种非线性的数据结构。 以分层的方式存储数据。 * 一棵树最上面的节点成为根节点,如果一个节点下面有多个节点,这个节点称为父节点,下面的节点称为子节点 * 没有任何子节点的节点,陈宝国职位叶子节点。 * * 二叉树是每个节点最多有两...

  • [算法&数据结构]深度优先搜索(Depth First Search)

    时间:2023-11-23 22:38:47

    深度优先 搜索(DFS, Depth First Search)从一个顶点v出发,首先将v标记为已遍历的顶点,然后选择一个邻接于v的尚未遍历的顶点u,如果u不存在,本次搜素终止。如果u存在,那么从u又开始一次DFS。如此循环直到不存在这样的顶点。算法核心代码如下: void dfs(int s...

  • 【Todo】字符串相关的各种算法,以及用到的各种数据结构,包括前缀树后缀树等各种树

    时间:2023-11-22 13:16:28

    另开一文分析字符串相关的各种算法,以及用到的各种数据结构,包括前缀树后缀树等各种树。先来一个汇总,算法:本文中提到的字符串匹配算法有:KMP, BM, Horspool, Sunday, BF, KR, AC(其中用到了Trie树)统计字符出现个数、获取KV内容:Trie树(字典树、前缀树)回文子串...

  • 数据结构Java实现01----算法概述

    时间:2023-11-21 16:49:04

    【声明】欢迎转载,但请保留文章原始出处→_→生命壹号:http://www.cnblogs.com/smyhvae/文章来源:http://www.cnblogs.com/smyhvae/p/4724692.html【正文】 一、数据结构涵盖的内容:二、算法的基本概念:1、算法的概念:Algorit...

  • 《Java数据结构与算法》笔记-CH2有序数组

    时间:2023-11-21 08:40:01

    /** * 上个例子是无序数组,并且没有考虑重复元素的情况。 * 下面来设计一个有序数组,我们设定不允许重复,这样提高查找的速度,但是降低了插入操作的速度。 * 1.线性查找 * 2.二分查找 * 有序数组优点:查找比无序数组快 * 缺点:插入操作由于所有靠后的数据都需要移动来腾开空间,所以插入比...

  • 数据结构和算法 – 11.高级排序算法(上)

    时间:2023-11-19 16:13:39

     对现实中的排序问题,算法有七把利剑可以助你马道成功。首先排序分为四种:      交换排序: 包括冒泡排序,快速排序。      选择排序: 包括直接选择排序,堆排序。      插入排序: 包括直接插入排序,希尔排序。      合并排序: 合并排序。 一.插入排序1.1.直接插入排序 URL:...

  • 使用链表实现队列------《数据结构与算法分析-C语言描述》

    时间:2023-11-18 18:03:21

    经过ubuntu的gcc验证一、头文件 que_link.h#ifndef _QUE_LINK_H_#define _QUE_LINK_H_struct que_record;typedef struct que_record* que;struct link_node;typedef struct...

  • 【算法和数据结构】_12_小算法_abs_fabsf_fabsd_大端小端判断

    时间:2023-11-17 19:22:57

    最近学习要用到求绝对值函数,看了一下有很多种的abs函数,因此想自己实现这些代码。下面是我进行测试的代码:#include <stdio.h>typedef unsigned int U32,u32;typedef enum {FALSE,TRUE} BOOL;//求绝对值函数float...

  • 数据结构与算法JavaScript (五) 串(经典KMP算法)

    时间:2023-11-15 20:34:40

    KMP算法和BM算法KMP是前缀匹配和BM后缀匹配的经典算法,看得出来前缀匹配和后缀匹配的区别就仅仅在于比较的顺序不同前缀匹配是指:模式串和母串的比较从左到右,模式串的移动也是从 左到右后缀匹配是指:模式串和母串的的比较从右到左,模式串的移动从左到右。通过上一章显而易见BF算法也是属于前缀的算法,不...

  • 算法与数据结构(十七) 基数排序(Swift 3.0版)

    时间:2023-11-15 19:03:06

    前面几篇博客我们已经陆陆续续的为大家介绍了7种排序方式,今天博客的主题依然与排序算法相关。今天这篇博客就来聊聊基数排序,基数排序算法是不稳定的排序算法,在排序数字较小的情况下,基数排序算法的效率还是比较高的。今天就来聊一下基数排序算法的原理以及代码的具体实现。一、基数排序算法示意图下方的基数排序算法...

  • 数据结构和算法学习笔记十五:多路查找树(B树)

    时间:2023-11-12 23:37:18

    一.概念1.多路查找树(multi-way search tree):所谓多路,即是指每个节点中存储的数据可以是多个,每个节点的子节点数也可以多于两个.使用多路查找树的意义在于有效降低树的深度,从而降低查找深度.2.2-3树:2-3树是指满足以下条件的多路查找树:1)每个节点可以是2节点(包含一个元...

  • 【严蔚敏】【数据结构题集(C语言版)】1.17 求k阶斐波那契序列的第m项值的函数算法

    时间:2023-11-10 23:14:27

    已知k阶斐波那契序列的定义为f(0)=0,f(1)=0,...f(k-2)=0,f(k-1)=1;f(n)=f(n-1)+f(n-2)+...+f(n-k),n=k,k+1,...试编写求k阶斐波那契序列的第m项值的函数算法,k和m均以值调用的形式在函数参数表中出现。k阶斐波那契序列定义:第k和k+...