
数据结构
文章平均质量分 90
链表、顺序表、栈、队列以及二叉树等等
想躺下的梅花鹿很迷人
勇气和执行力
展开
-
【数据结构从0到1】第十一篇:B-树
B树:有序数组+平衡多叉树;B+树:有序数组链表+平衡多叉树;B*树:一棵更丰满的,空间利用率更高的B+树。mysql是目前非常流行的开源关系型数据库,不仅是免费的,可靠性高,速度也比较快,而且拥有灵活的插件式存储引擎,如下:MySQL中索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的。注意:索引是基于表的,而不是基于数据库的。原创 2022-10-16 08:56:04 · 314 阅读 · 0 评论 -
【数据结构从0到1】第十篇:LRUCache
LRU是Least Recently Used的缩写,意思是最近最少使用,它是一种Cache替换算法。什么是Cache?狭义的Cache指的是位于CPU和主存间的快速RAM, 通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。广义上的Cache指的是位于速度相差较大的两种硬件之间, 用于协调两者数据传输速度差异的结构。原创 2022-10-13 10:07:32 · 177 阅读 · 0 评论 -
【数据结构从0到1】第九篇:图
图是由顶点集合及顶点间的关系组成的一种数据结构:G = (V, E),其中:顶点集合V = {x|x属于某个数据对象集}是有穷非空集合;E = {(x,y)|x,y属于V}或者E = {|x,y属于V && Path(x, y)}是顶点间关系的有穷集合,也叫做边的集合。(x, y)表示x到y的一条双向通路,即(x, y)是无方向的;Path(x, y)表示从x到y的一条单向通路,即Path(x, y)是有方向的。顶点和边:图中结点称为顶点,第i个顶点记作vi。两个顶点vi和vj相关联称作顶点原创 2022-10-04 13:22:26 · 1205 阅读 · 0 评论 -
【数据结构从0到1】第八篇:并查集
编号为4和9的同学属于1号小分队,该小分队有3人(包含队长1),编号为3和5的同学属于2号小分队,该小分队有3个人(包含队长1)。同的学校,起先互不相识,每个学生都是一个独立的小团体,现给这些学生进行编号:{0, 1, 2, 3,4, 5, 6, 7, 8, 9};西安学生小分队s1={0,6,7,8},成都学生小分队s2={1,4,9},武汉学生小分队s3={2,3,5}就相互认识。比如:某公司今年校招全国总共招生10人,西安招4人,成都招3人,武汉招3人,10个人来自不。了,10个人形成了三个小团体。原创 2022-09-29 13:45:46 · 150 阅读 · 0 评论 -
【数据结构从0到1】第七篇:二叉树进阶
文章目录一、搜索二叉树1.1 二叉搜索树概念1.2 二叉搜索树操作1.3 二叉搜索树的实现一、搜索二叉树1.1 二叉搜索树概念二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树int a [] = {5,3,4,1,7,8,2,6,0,9};1.2 二叉搜索树操作二叉搜索树的查找2. 二叉搜索树的插入插入的具体原创 2022-04-30 16:32:04 · 473 阅读 · 18 评论 -
【数据结构从0到1】总结篇:C语言实现初阶数据结构
系列文章目录【数据结构从0到1】第一篇:算法的时间复杂度和空间复杂度【数据结构从0到1】第二篇:顺序表和链表【数据结构从0到1】第三篇:栈和队列【数据结构从0到1】第四篇:二叉树【数据结构从0到1】第五篇:排序(上)【数据结构从0到1】第六篇:排序(下)文章目录系列文章目录前言一、学习方法和经验分享二、学习总结总结前言总所周知,数据结构作为一门单独的学科,是不被语言所限制的,所以我们可以选择用最基础的C语言来实现一些初阶的数据结构,而关于高阶的数据结构,我们可以选择其他高级语言(c+.原创 2021-11-26 19:18:58 · 925 阅读 · 0 评论 -
【数据结构从0到1】第六篇:排序(下)
文章目录前言一、常见排序算法的实现1.1冒泡排序二、使用步骤1.引入库2.读入数据总结前言本篇文章继续上一篇来探讨排序当中的冒泡排序,快排、归并排序和计数排序,关于上一篇的直接插入排序、希尔排序、选择排和堆排序我们就不探讨了。文章在这里:【数据结构从0到1】第五篇:排序(上)大家可以看一下。一、常见排序算法的实现1.1冒泡排序二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.py..原创 2021-11-24 20:45:01 · 652 阅读 · 9 评论 -
【数据结构从0到1】第五篇:排序(上)
文章目录前言一、排序的概念及其运用1.1排序的概念1.2排序运用1.3 常见的排序算法二、2.常见排序算法的实现2.1 插入排序2.1.1基本思想:2.1.2直接插入排序:2.1.3 希尔排序( 缩小增量排序 )总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、排序的概念及其运用1.1排序的概念排序:所谓排序,就是使一..原创 2021-11-18 12:32:46 · 974 阅读 · 7 评论 -
【数据结构从0到1】第四篇:二叉树
文章目录一、1.树概念及结构1.1树的概念1.2 树的相关概念1.3 树的表示1.4 树在实际中的运用(表示文件系统的目录树结构)二、叉树概念及结构2.1概念2.2现实中的二叉树:2.3 特殊的二叉树:2.4 二叉树的性质2.5 二叉树的存储结构总结一、1.树概念及结构1.1树的概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。有一个特殊的结点,称为根结点,根节点没有前驱结..原创 2021-11-13 14:06:39 · 1384 阅读 · 10 评论 -
【数据结构从0到1】第三篇:栈和队列
文章目录一、栈1.1栈的概念及结构1.2栈的实现一、栈1.1栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。用一张图形象的表示:1.2栈的实现栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组..原创 2021-11-01 13:27:47 · 162 阅读 · 1 评论 -
【数据结构从0到1】第二篇:顺序表和链表
文章目录一、线性表1.线性表二、顺序表2.1概念及结构2.2 接口实现总结一、线性表1.线性表线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。我们用图片来表示:二、顺序表2.1概念及结构顺序表是用一段物理地址连续的存储单元依次存储数..原创 2021-10-29 09:08:55 · 251 阅读 · 9 评论 -
【数据结构从0到1】第一篇 :算法的时间复杂度和空间复杂度
文章目录前言一、数据结构前言1. 什么是数据结构?2.什么是算法?3.数据结构和算法的重要性二、 算法的时间复杂度和空间复杂度1.算法效率1.1 如何衡量一个算法的好坏1.2 算法的复杂度2.时间复杂度2.1 时间复杂度的概念2.2 大O的渐进表示法2.3常见时间复杂度计算举例3.空间复杂度前言 数据结构是一种具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应操作的数据元素的集合。它包含三方面的内容,逻辑关系、存储关系以及操作。正确的算法的含义是:能够解决实际问题,输入的所有可能的合法的..原创 2021-10-13 20:59:50 · 480 阅读 · 0 评论