数据结构

第一节:再次邂逅数据结构和算法

一. 二. 三. ! 作 者 : Yaopengfei(姚鹏飞) 博客地址 : http://www.cnblogs.com/yaopengfei/ 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权 ......
数据结构 算法 再次 结构 数据

数据结构之排序

一.什么是稳定排序? 排序后相等元素的相对位置不发生变化 二.稳定排序有哪些? 2.1.不稳定排序:快速排序、希尔排序、堆排序 2.2.稳定排序:冒泡排序、插入排序、归并排序、基数排序 三.各大排序算法 3.1.稳定算法 3.1.1.冒泡排序 思想:通过两两比较不断将最大的数浮出水面。一次浮出一个数 ......
数据结构 结构 数据

数据结构的基本概念和术语

数据(Data) 数据: 能输入计算机且能被计算机处理的各种符号的集合, 信息的载体 能被计算机识别,存储和加工 包括:数值型的数据:整数,实数等 非数值型的数据:文字,图像,声音等; 2.数据元素和数据项 数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。也简称为元素,或称 ......
数据结构 术语 概念 结构 数据

数据结构的初认识

一般,我们将数据结构分为逻辑结构和物理结构。 逻辑结构:是指数据对象中数据元素的相互关系。 逻辑结构包括:集合结构,线性结构,树型结构,图形结构。 物理结构:是指数据的逻辑结构在计算机中的存储形式。 根据物理结构的定义,我们实际上研究的的就是如何把数据元素存储到计算机的存储器中。 存储器主要是针对内 ......
数据结构 结构 数据

数据结构与算法—绪论

前言 数据结构与算法是程序员内功体现的重要标准之一,且数据结构也应用在各个方面,业界更有程序=数据结构+算法这个等式存在。各个中间件开发者,架构师他们都在努力的优化中间件、项目结构以及算法提高运行效率和降低内存占用,在这里数据结构起到相当重要的作用。此外数据结构也蕴含一些面向对象的思想,故学好掌握数 ......
数据结构 绪论 算法 结构 数据

数据结构之树(遍历)

二叉树遍历的规则 1. 根据根节点(父节点)的位置在最前面、在左子节点、右子节点中间、最后面,分为前序、中序、后序。 2. 除了根(父节点)特殊以外,都是先左节点、后右节点。 前序遍历 1. 一个子树一个子树的看 2. 前序:根(父)--> 左子节点 >子树 ..... -->右子节点 第1个子树: ......
数据结构 结构 数据

数据结构之树(二叉树的存储方式之链表)

Java Java中可以使用链表来实现二叉树的存储。 1. 链表实现二叉树的原理: 链表是由节点组成的数据结构,每个节点包含一个数据和指向下一个节点的指针。 在链表中,可以将二叉树的每个节点都看作一个链表节点,同时维护一个指向左子节点的指针和一个指向右子节点的指针。通过这种方式,可以将二叉树的各个节 ......
数据结构 结构 方式 数据

队列(Queue):先进先出(FIFO)的数据结构

队列是一种基本的数据结构,用于在计算机科学和编程中管理数据的存储和访问。队列遵循先进先出(First In, First Out,FIFO)原则,即最早入队的元素首先出队。这种数据结构模拟了物理世界中的队列,如排队等待服务的人。 在本篇博客中,我们将详细介绍队列的概念、用途、实现以及如何在编程中使用 ......
数据结构 队列 先进 结构 数据

数据结构:详解顺序串

《详解循环队栈》 目录: 顺序串的定义及其特点 顺序串的实现 完整Demo 运行截图 小结 参考文献 顺序串的定义及其特点 顺序串的存储结构的和线性表一样,也是主要分为顺序存储结构和链式存储结构两类,前者简称顺序串,顺序串和顺序表一样,只不过它的每个元素仅由一个字符组成,在串的这一节中重点是串的处理 ......
数据结构 顺序 结构 数据

数据结构记录-链表

1、单链表 1、单链表的组成 最基本的单链表组成如下: typedef struct Link { char elem; /*数据域*/ struct Link *next; /*指针域*/ }link;/*节点名,每个阶段都是一个Link结构体*/ 为什么这样的就是链表呢,需要从这个结构体内部组成 ......
数据结构 结构 数据

栈:数据结构中的后进先出(LIFO)容器

栈是一种基本的数据结构,广泛应用于计算机科学和编程中,用于管理数据的存储和访问。栈遵循后进先出(Last In, First Out,LIFO)原则,即最后放入栈的元素首先被取出。这种数据结构模拟了物理世界中的栈,如一堆书或一摞盘子。 栈的概念 栈是一个线性数据结构,具有以下关键特点: 后进先出(L ......
数据结构 后进 容器 结构 数据

计算机数据结构

数据结构 一 数据结构的物理存储结构只有两种:顺序存储和链式存储(像栈、队列、树、堆、图等都是从逻辑结构去抽象的映射到内存中,也是这两种物理组织形式)。 二 顺序存储 如数组 连续的固定长度的空间,通过下标就能快速找到。 链式存储 如二叉树、B树等,底层可能是不连续的内存块,随机或是有序分配,既然不 ......
数据结构 结构 计算机 数据

【数据结构】线段树解决历史问题

无区间最值操作 这里讲两种简易方法: 1.矩阵 考虑线段树的 \(tag\) 必须要有结合律,几个值互相更新,考虑矩阵乘法去实现这个操作。 例题 支持区间加,查询区间和,区间历史版本和。 考虑记一个点的状态为: \[\begin{bmatrix} his\\ sum\\ len \end{bmatr ......
线段 数据结构 结构 数据 问题

数据结构之链表

1. 简介 链表(Linked List)是一种基本的数据结构,用于表示一组元素,这些元素按顺序排列,每个元素都与下一个元素连接。与数组不同,链表的元素不是在内存中连续存储的,而是通过指针来连接的。链表由节点(Node)组成,每个节点包含两个主要部分:数据和指向下一个节点(或上一个节点,如果是双向链 ......
数据结构 结构 数据

图的数据结构及基础算法

图(Graph)这个数据结构在平时开发中遇到的比较少,但我认为它是十分重要的,因为从真实的世界中来看,很多东西都可以抽象为图的表示,比如人际关系,地理位置,天马行空的东西都可以抽象为图,所以它比链表等基础数据结构高级一点点,也比较复杂,属于非线性结构。数学中有一个图论的分支也是与其有关。了解图在程序 ......
数据结构 算法 结构 基础 数据

读程序员的制胜技笔记02_算法与数据结构

1. 认知偏见 1.1. 程序员也是人,他们和其他人在软件开发实践中有着同样的认知偏见 1.2. 只有你的同事真正关心你是如何做事的——其他人都只想要一个好的、有效的产品 1.3. 高估了不使用的类型 1.4. 不关心正确数据结构的好处 1.5. 认为算法只对库作者重要 2. 理论 2.1. 理论可 ......
数据结构 程序员 算法 结构 笔记

数据结构记录

数据结构-线性表记录 线性表有顺序表和链表两种,使用顺序表就跟数组差不多,就是加了一些数组的标志,下面的代码中初始化这个顺序表的时候就申请好了需要的内存,之后每次增删顺序表的元素的时候都要对他的length进行增删。 /* 2023 11 02 c语言中文网,数据结构-线性表 */ #include ......
数据结构 结构 数据

数据结构笔记

数据结构刷题笔记 Points 线段树 显然先对 \(x\) 离散 用线段树维护区间最大值,查询在线段树上二分出最小的 \(x\) 用 set 维护每个 \(x\) 对应的 \(y\) , lower_bound 即可 ......
数据结构 结构 笔记 数据

数据结构刷题

CF19D Points 题目链接 先对 \(x\) 离散化,对每一个 \(x\) 都维护一个 set 表示当前横坐标对应的 \(y\)。 每次加入或删除操作就把对应的 set 更新,并且用线段树维护区间 \(x\) 对应的 \(y\) 的最大值,每次加入或删除时更新。 查询操作的时候直接在线段树上 ......
数据结构 结构 数据

数据结构与算法 | 哈希表(Hash Table)

借这题不妨讲一讲分块的编码风格。在日常生活中,我们一定有记忆手机号码的经历,一个长长的数字串(比如1234567890)可能很难记忆,但如果将其分成更小的组块,例如(123) 456-7890,就更容易记忆和处理。这个其实在认识心理学里面概念叫:"信息分块"(chunking),指的是将大量的信息分... ......
数据结构 算法 结构 数据 Table

数据结构

栈 栈的定义 栈(Stack)是只允许在一端进行插入或删除操作的线性表 栈的操作 - 用数组模拟栈 从0开始 top=0; //初始化 top //元素个数 if(top==0) //判断栈为空 st[top++]=x //入栈 top-- //出栈 st[top-1] //取栈顶 从-1开始 to ......
数据结构 结构 数据

数据结构之树(二叉树的存储方式)

存储方式 一般使用数组、链表来存储树(节点)。链表的优点就是添加、删除。数组优点是访问(遍历)。 一维数组表示法 首先将二叉树当作一颗满二叉树(Full Binary Tree),因此第K层具有2k-1 个节点。按照规则存放在一维数组中。 原理 对于一个具有n个节点的二叉树,可以使用一个长度为2n的 ......
数据结构 结构 方式 数据

Python如何去采集APP数据?我下面提供下思路和结构代码

当涉及到采集APP数据时,Python是一个强大的工具,因为它具有丰富的库和框架,能够帮助你轻松地获取所需的信息。无论是分析竞争对手的市场表现,还是监控用户行为,Python都可以成为你的数据采集和分析的得力助手。本文将介绍如何使用Python采集APP数据的方法,包括Web抓取、API调用和数据清 ......
思路 结构 代码 数据 Python

sizeof与各数据结构内存占用计算

一、sizeof 1. sizeof介绍 sizeof会计算参数的数据类型所占字节数。 注意事项: 如果是数组类型(非vector),则会返回整个数组所占字节数。 sizeof是运算符,在编译期间确定,因此无法计算动态分配的内存大小,如new等。 2. 实现方式 获取type 使用getTypeIn ......
数据结构 内存 结构 数据 sizeof

数据结构-ST表

ST表的使用范围: 1.处理静态数组的极值问题 2.尾部增减数组的极值问题 ST表的原理: 1.预处理:ST表的中心思想是动态规划,我们规定数组 Max[i][j] 储存的是数组中从第 i 个元素开始,总共 2^j 个数字的极(大)值,区间末尾位置为 i+2^j-1。输入数组时,直接输入到 Max[ ......
数据结构 结构 数据 ST

Oracle转为Mysql的数据结构差别

Oracle的表空间相关函数 TABLESPACE "SYSTEM" LOGGING NOCOMPRESS PCTFREE 10 INITRANS 1 STORAGE ( INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 FR ......
数据结构 差别 结构 数据 Oracle

数据结构——二分查找(1)

`` 点击查看代码 import java.util.Scanner; public class Main { public static int[] a = new int[10]; public static void main(String[] args) { Scanner s = new ......
数据结构 结构 数据

C++数据结构

C++数据结构 C/C++数组允许定义可存储相同类型数据项的变量,但是结构体是C++中另外一种用户自定义的可用的数据类型,它允许存储不同类型的数据项。 结构用于表示一条记录,假设要跟踪图书馆书本的动态,可能需要跟踪每本书的下列属性: Title Author Subject BookID 定义结构体 ......
数据结构 结构 数据

堆、队列数据结构的特点和作用介绍

What is Stack、Queue? 栈(Stack)又名堆栈; 队列(Queue); 堆栈的特点: 由于堆栈的栈和蘸碟的蘸同音,可以想象去火锅店吃饭,调味台上有一摞蘸碟,你是不是只能从顶上的蘸碟拿起,这就是堆栈的特点:后进先出。 队列的特点: 队列就是类似排队的数据结构,比如排队打饭,先排队的 ......
数据结构 队列 特点 作用 结构

各种闲着没事的 STL 数据结构实现排序效率对比

各种闲着没事的 STL 数据结构实现排序效率对比 本文出现在这里的原因: 直接原因:@Ju_Ruo_ 在某需要排序的题目里使用了 priority_queue。 根本原因:不知道。 太长不看 题目:P1177 【模板】排序 语言环境:C++14 (GCC 9) + O2 排序函数:sort(...) ......
数据结构 闲着 效率 结构 数据