首页 > 其他分享 >数据结构基础—绪论

数据结构基础—绪论

时间:2022-10-04 22:24:28浏览次数:50  
标签:绪论 复杂度 元素 基础 算法 数据结构 数据

数据结构基础—绪论

一、什么式数据结构

数据结构是一门研究非数值计算的程序实际问题中计算机的操作对象以及它们之间关系和操作等的学科

程序设计 = 数据结构 +算法

  • 数据结构:问题的数学模型
  • 算法:解决问题的策略

在数学模型中又包括了数据的表示和处理

  • 处理就是要使用什么样的算法
  • 表示就是逻辑结构+存储结构

二、基本概念和术语

1.逻辑结构

数据:输入到计算机中并被计算机程序处理的符号的总称

数据元素:数据的基本单位,是一个大整体(可以类比成结构体)

数据项:是数据的最小单位,多个数据项组成一个数据元素

数据对象:相同性质的数据元素的集合


可以类比数据对象就是一个图书管理,数据元素就是其中的一本本数,而数据项就是每本书的基本信息


数据结构:数据元素和数据元素关系之间的集合

  • 集合:最普通,只是集合的关系
  • 线性结构:数据元素一对一的关系
  • 树形结构:数据元素一对多的关系
  • 图状或网状结构:数据元素多对多的关系

2.存储结构

顺序存储:元素在存储器的位置就是数据元素之间的位置

image

链式存储:元素在存储器的位置是随机的,要用指针来访问
image

3.抽象数据类型

是数据对象,对象之间的关系和操作的数据类型

image

image

image

三、算法和算法分析

算法的特性:有穷性、确定性、可行性、有输入,有输出

算法设计的要求:正确性、可读性、健壮性、效率和第存储量要求

1.时间复杂度

我们近似用时间复杂度来代替时间复杂频数(频度),即,只取最高阶为当前的时间复杂度,eg:时间频数为n+3->n

时间复杂度的比较

image

2.空间复杂度

空间复杂度包括:输入数据,程序本身,辅助变量所占的空间

其中,输入数据与算法无关,对于算法要分析辅助变量所占的额外空间

标签:绪论,复杂度,元素,基础,算法,数据结构,数据
From: https://www.cnblogs.com/wht-de-bk/p/16754631.html

相关文章

  • javaSE基础-IO流
    IO流File类基本概念File类的一个对象,代表一个文件或一个文件目录(俗称文件夹)File类声明在java.io包下File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时......
  • golang中map基础了解
    map初识map是一个以键值对元素的数据集合,map是一个集合。map的优点是查找速度非常会,原因是map的底层存储是hash表。hash表的存储原理:对key进行计算,计算出hash值,对hash......
  • python基础小知识【基础+进阶】
    ......
  • Linux的基础命令
    Linux优点一切都是一个文件。(包括硬件,文本,二进制,源代码)系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)当遇到复杂任务,通过不同功能用途的程......
  • 做题记录整理数据结构2 541. 疯狂的馒头(2022/10/3)
    541.疯狂的馒头非常妙的构造题(妙到甚至没想到)首先就是发现肯定是需要O(n)的算法我们会发现倒着找出来的那一次就是馒头最后染色的次数然后难点就在于如何保证每个馒头......
  • 做题记录整理数据结构1 P6033. [NOIP2004 提高组] 合并果子 加强版(2022/10/3)
    P6033.[NOIP2004提高组]合并果子加强版老题新做型里面最妙的就是用两个队列来代替一个堆,和蚯蚓那道题有异曲同工之妙#include<bits/stdc++.h>#definefor1(i,a,b)......
  • 118-22-ZooKeeper 基础设施详解 和 服务启动流程源码分析_ev
         ......
  • HTML基础学习
    Internet和webInternetInternet:是一组全球性的信息资源汇总,也叫做因特网、互联网、交互网。Internet提供的常见服务:Email邮件服务。telnet远程登录。www服务(万维网......
  • vue3 基础-插件 plugin 案例演示
    前篇有介绍关于插件plugin的无敌强大和基本使用流程后,当时从俺的经验上看是没咋去使用它的,即英雄无用武之地.本篇也是从网上找个案例来为plugin的强大来小试牛刀......
  • TypeScript(3)基础类型
    基础类型​​TypeScript​​​支持与​​JavaScript​​​几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用。 布尔值最基本的数据类型就是简单的true/false......