首页 > 其他分享 >数据结构

数据结构

时间:2023-12-25 18:33:06浏览次数:50  
标签:关系 存储 顺序 算法 数据结构 数据

  • 数据结构
  1. 概念

a,分析问题,将实际问题抽象出一个人数学模型

b,设计一个解决问题的模型

c,编写代码,调试,测试得到最后结果

  1. 什么是数据结构

数据

客观事物用符号表示

结构·

数据之间的存在的关系

数据结构:计算机存储和组织数据符号,相互之间的关系集合

  1. 数据结构分类:

逻辑结构 :数据之间的关系(描述数据之间的关系)

a,集合结构

数据与数据之间除了属于同一集合,再无其他关系

b,线性结构

数据之间呈现一对一关系,线性关系

C,树形结构

数据与数据之间呈现一对多关系,层次,从属,(前只有一个元素,后可有多个元素)

d,图形关系

数据与数据之前呈现多对多关系

存储结构:描述的存储

顺序存储

离散存储(链式存储)

数据运算:

运算:对存在关系的数据进行处理

增删改查

  • 算法

算法:解决实际问题的步骤描述

实现特定功能的步骤方法

通常解决一个问题有多种方式(算法),不同的算法的效率不同

  • 消耗的时间

算法执行的时间,时间越少

  • 消耗的空间

算法执行的时候所占用的内存资源越少

事先估算法:

时间:

时间复杂度

语句频度算法中一条语句重复的次数

时间复杂度,算法所有语句频度之和

T(n),时间复杂度,n,问题规模 大O表示,O(n),O(n^2) 常数 O(1)

空间:

空间复杂度,

程序执行时所占用的内存资源大小,

S(n),n问题规模:

常数阶: O(1) int a = 1;

线性阶: O(n) 循环

指数阶: O(n^2) for(for)

对数阶 O(log n) for( Ii = 0;i< n:I = i*2)

  • 线性表

线性表,线性结构,关系为线性关系,数据与数据之间呈现一对一的关系

线性表具有唯一前驱,唯一后继,首元素没有前驱,尾元素没有后继

顺序表的存储:

按照顺序存储的线性表,顺序表(逻辑结构是线性关系,存储结构为顺序存储)

顺序表的操作:

创建表

删除表

顺序表元素的增删改查,遍历

顺序表的表示:

结构体 {

数组 / 指针malloc

当前顺序表的个数

整个顺序表的长度

}

struct 名字{

元素类型 名字[];

int 长度;

int 个数;}

全局变量,静态变量 ,未初始化值零

标签:关系,存储,顺序,算法,数据结构,数据
From: https://www.cnblogs.com/tangxiyue/p/17926743.html

相关文章

  • 数据结构之<堆>的介绍
    1.简介堆是一种特殊的数据结构,通常用于实现优先队列。堆是一个可以被看作近似完全二叉树的结构,并且具有一些特殊的性质,根据这些性质,堆被分为最大堆(或者大根堆,大顶堆)和最小堆两种。2.基本性质完全二叉树结构:堆必须是一棵完全二叉树,即除了最底层,其他层都是满的,而且最底层的节点都尽量......
  • 数据结构习题24/12/24
    这道题目可以考虑,如果前缀是一样的长度,那么只需要两个链表同时向后检索,直到找到一样的元素为止。所以应该先找到两个链表的长度,然后将较长的一个链表的多出来的前缀部分删掉,也就不去看这一部分。因为后缀都是一样的,所以长度的差异只可能来自前缀。解决代码:typedefstructNode{......
  • C++简单实现list链表数据结构(一)
    链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。链表的组成:链表由一系列结点组成结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域C++STL中的链表是一个双向循环链表由于链表的存储方式并不是连续的内存空......
  • 2-1张量数据结构
    0.配置Pytorch的基本数据结构是张量Tensor。张量及多维数组。Pytorch的张量和numpy中的array很类似。本节我们主要介绍张量的数据类型、张量的维度、张量的尺寸、张量和numpy数组等基本概念。importtorchprint('torch.__version__='+torch.__version__)"""torch.__ve......
  • [2024深圳市考][计算机素质测试考纲](二)算法和数据结构
    前言因篇幅有限,本文仅对考纲中的考点做基本介绍。更详细的内容请自行学习:【双语字幕】CS61B数据结构|整合版|UCBDataStructureSpring2021【中英双字】普林斯顿大学-算法分析AlgorithmAnalysis2015COS423一、基本概念二、数组三、链表四、栈和队列五、递......
  • Week1——STL 与基础数据结构专题训练
    https://blog.csdn.net/qq_46025844/article/details/127948957 实训概要实训专题STL与基础数据结构专题训练实训目的掌握STL常用的算法、容器、容器适配器的使用方法。能够利用STL的算法、容器、容器适配器求解问题。题目列表A:摘苹果B:立方和C:计算个数D:后缀表达式的值E:做蛋糕......
  • 【数据结构】第二章——线性表(2)
    线性表的顺序表示导言大家好,很高兴又和各位见面啦!!!在上一个篇章中,我们简单了解了一下线性表的基础知识以及一下重要的术语。在今天的篇章中我们将来开始正式介绍线性表的顺序存储——又称顺序表。我们将会在本章介绍什么是顺序表,对于顺序表的操作我们又应该如何实现。接下来,我们就来......
  • 金牌导航-数据结构优化DP
    数据结构优化DP例题A题解设\(f_{i,j}\)表示以第\(i\)位为结尾,长度为\(j\)的严格单调上升子序列的数量。那么显然有\(f_{i,j}=\sum_{k=1}^{i-1}f_{k,j-1}\times(a_k<a_i)\)然后发现这玩应\(O(n^2m)\)直接寄掉了。考虑优化。发现只有当\(a_k<a_i\)时才会有贡献。......
  • python 数据结构与算法知识图
    1.算法思想:递归、分治(归并排序、二分查找、快速排序)、贪心(贪心策略排序+当前最优)、动态规划(最优子结构+递推式)、回溯(解空间:排列树+子集树、深度搜索+剪枝)、分支限界(解空间:排列树+子集树、广度搜索+剪枝))2.排序算法:(low:冒泡、插入、选择;mid:快排、归并、堆排(完全二叉树),其他:桶排序、基......
  • Databend 源码阅读: Meta-service 数据结构
    作者:张炎泼(XP)DatabendLabs成员,Databend分布式研发负责人https://github.com/drmingdrmer引言Databend是一款开源的云原生数据库,采用Rust语言开发,专为云原生数据仓库的需求而设计。面向云架构:Databend是完全面向云架构的数据库,可以在云环境中灵活部署和扩展简介|......