文章 2024-02-01 来自:开发者社区

【数据结构】哈希表—C/C++实现

1. 哈希表哈希表类似:比如python中的字典用到的就是哈希表2. 基本思路哈希表(Hash Table),也称为散列表。基本思路是,设存储元素个数为n,设置长度为m(m>=n)的连续内存单元,以每个元素的关键字ki为自变量,通过哈希函数把 k 映射为内存单元的哈希地址h(ki),把该元素存储在此地址。3. 哈希冲突哈希冲突是指当两个关键字 ki 和 kj(i≠j)有ki≠kj,但h(k....

【数据结构】哈希表—C/C++实现
文章 2024-02-01 来自:开发者社区

【数据结构】链表—C/C++实现

前言什么是链表?线性表的链式存储结构称为链表(Linked List)。链表是一种常见的线性数据结构,用于组织和存储一系列元素,这些元素以节点(Node)的形式连接在一起。每个节点包括两个主要部分:用于存储数据的数据域(Data Field)和指向节点的指针域(Next Pointer)。链表可以有不同的变种,包括单链表、双链表和循环链表等。双链表和单链表的优缺点1. 单链表1.1 定义type....

【数据结构】链表—C/C++实现
文章 2024-02-01 来自:开发者社区

【数据结构】经典排序算法—C/C++实现

1. 冒泡排序基本原理:对存放原始数据的数组,按从前往后的方向进行多次扫描,每次扫描称为一趟。当发现相邻两个数据的次序与排序要求的大小次序不符合时,即将这两个数据进行互换。如果从小到大排序,这时,较小的数据就会逐个向前移动,好像气泡向上漂浮一样。是一种稳定的排序方法。平均时间复杂度O(n ^ 2)稳定图示排序过程:为什么每趟比较次数减少一次?在冒泡排序的过程中,每一趟都会将未排序部分的最大元素沉....

【数据结构】经典排序算法—C/C++实现
文章 2024-01-26 来自:开发者社区

数据结构实训(大作业)c++模拟北斗卫星导航系统简单的迪杰斯特拉算法

实现功能: 直接给出代码:#include <iostream> #include <algorithm> #include <cstring> #include <unordered_map> #include <vector> using namespace std; const int N = 100; unordere....

文章 2024-01-23 来自:开发者社区

【数据结构】—红黑树(C++实现)

一、前言           本文是基于二叉搜索树以及AVL树的知识前提下对于红黑树进行叙述的,主要叙述的方面同AVL树一样,主要是在于插入方面的解析,其它部分同AVL树和二叉搜索树还是有些相似的。但是对于删除部分来说,红黑树就太难了,举个例子?:插入部分,红黑树的实现大概180行代码,而删除则是400往上接近500行了。难度可想而知,作者如果有....

【数据结构】—红黑树(C++实现)
文章 2024-01-23 来自:开发者社区

【数据结构】—AVL树(C++实现)

一、前言                本文是基于二叉搜索树的知识前提下对于AVL树进行叙述的,主要叙述的方面在于AVL树的插入方面,因为AVL树同二叉搜索树的最大区别就在于插入的操作和删除操作,删除操作也是类似的,但是难就难在更新平衡因子,后续会补上。而对于其他的操作如:二叉搜索树的查找操作等等都是相似的,因此本文....

【数据结构】—AVL树(C++实现)
文章 2024-01-23 来自:开发者社区

【数据结构】—搜索二叉树(C++实现,超详细!)

一、二叉搜索树概念什么是二叉搜索树? 二叉搜索树(Binary Search Tree,BST)是一种特殊的二叉树,它满足以下几个条件:左子树中所有节点的值小于当前节点的值。右子树中所有节点的值大于当前节点的值。左子树和右子树也都是二叉搜索树。        二叉搜索树的中序遍历可以得到一个升序的序列,因此它常被用来实现有序集合或映射。在二叉搜索树中,查找....

【数据结构】—搜索二叉树(C++实现,超详细!)
文章 2023-12-28 来自:开发者社区

【数据结构&C++】超详细一文带小白轻松全面理解 [ 二叉平衡搜索树-AVL树 ]—— [从零实现&逐过程分析&代码演示&简练易懂]

一.AVL树的概念二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。因此,两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landis在1962年发明了一种解决上述问题的方法:当向二叉搜索树中插入新结点后,如果能保证 每个结点的左右子树高度之差的绝对值不超过1 (需要对树中的结点进行调整),即可降低树的....

【数据结构&C++】超详细一文带小白轻松全面理解 [ 二叉平衡搜索树-AVL树 ]—— [从零实现&逐过程分析&代码演示&简练易懂]
文章 2023-12-28 来自:开发者社区

【C++&数据结构】二叉树(结合C++)的经典oj例题 [ 盘点&全面解析 ](24)

一.二叉树创建字符串1)题目介绍&oj链接题目链接:https://leetcode.cn/problems/construct-string-from-binary-tree/2)题目逐过程分析&完整代码主要思路是通过 前序遍历 (根->左子树->右子树)方式遍历二叉树我们可以利用 容器string & += 追加字符【( 】【 )】于是我们得到下面所示基本代码注意点,题目....

【C++&数据结构】二叉树(结合C++)的经典oj例题 [ 盘点&全面解析 ](24)
文章 2023-12-28 来自:开发者社区

【C++&数据结构】超详细一文带小白轻松全面理解 [ 二叉搜索树 ]—— [从零实现&逐过程分析&代码演示&简练易懂](23)

一.二叉搜索树的基本概念二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则 左子树 上所有节点的值都 小于 根节点的值若它的右子树不为空,则 右子树 上所有节点的值都 大于 根节点的值它的 左右子树 也分别为二叉搜索树 ;二.增删查改基本操作//结点模板 template<class K> struct BSTreeNode { BST...

【C++&数据结构】超详细一文带小白轻松全面理解 [ 二叉搜索树 ]—— [从零实现&逐过程分析&代码演示&简练易懂](23)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注