【数据结构】1.1 数据结构的研究内容

news2025/2/25 3:44:50

文章目录

  • 数据结构的研究内容
  • 数据结构研究的内容小结

数据结构的研究内容

早期,计算机主要用于数值计算:

  • 首先,分析问题、提取操作对象,
  • 然后,找出操作对象之间的关系,用数学语言加以描述,建立相应数学方程。
  • 最后,求解数学方程:高斯消元法、有限元法,差分法……

随着计算机应用领域的扩展,计算机越来越多地用于非数值的计算。

【例1】:学生学籍管理系统

  • 操作对象:每位学生的信息(学号、姓名、性别、籍贯、专业等)。
  • 操作算法:查询、插入、修改、删除等。
  • 操作对象之间的关系:线性关系。
    • 除了开头行和结尾行的操作对象,其余操作对象的行前、后都有其他操作对象,操作对象就像被一根绳子串起来的关系称为线性关系
  • 数据结构:线性数据结构、线性表。

在这里插入图片描述
在这里插入图片描述

【例2】:人机对弈问题

计算机之所以能和人对弈是因为已经将对弈的策略在计算机汇总存储好。由于对弈的过程是在一定规则之下进行的,所以,为里使计算机能灵活对弈,就必须把对弈过程中所有可能发生的情况及相应的对策都加以考虑。

  • 以井字棋为例,初始状态是一个空的棋盘格局。
    • 对弈开始后,每下一步棋,则构成一个新的棋盘格局,且对于上一个棋盘格局的可能选择可以有多种形式,因此整个对弈过程就如同下图所示的一棵倒长的树
    • 在这棵树中,从初始状态(根结点)到某一个最终格局(叶结点)的一条路径,就是一次具体的对弈过程。
  • 计算机操作对象:各种棋局状态,即描述棋盘的格局信息。
  • 计算机的算法:走棋,即选择一种策略使棋局状态发生变化(由一个格局派生出另一个格局)。
  • 操作对象之间的关系:非线性关系、树。

在这里插入图片描述

【例3】:最短路径问题

在这里插入图片描述

从城市 A 到城市 B 有多条线路,但是每条线路的交通费不同,那么,如何选择一条线路,使得从城市 A 到城市 B 的交通费用最少?

  • 解决方法:可以将这类问题抽象为图的最短路径问题。
    • 图中的顶点代表城市,有向边代表两个城市之间的通路,边上的权值代表两个城市之间的交通费。
    • 求解 A 到 B 的最少交通费用,就是要在有向图中 A 点(源点)到达 B 点(终点)的多条路径中,寻找一条各边权值之和最小的路径,即最短路径

在这里插入图片描述

  • 操作对象:各地点及路的信息。
  • 计算机算法:设置信号灯,求出各个可同时同行的路的集合。
  • 对象之间的关系:非线性关系、网状结构。

数据结构研究的内容小结

综上所述

  • 这些问题的共同点是无法用数学的公式或程序来描述,而是一些非数值计算的程序设计问题。
  • 描述非数值计算问题的数学模型不再是数学方程,而是如:表、树、图之类的具有逻辑关系的数据。
  • 数据结构:是一门研究非数值计算的程序设计中计算机的操作对象以及他们之间的关系操作的学科。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/189627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java日志门面技术 SLF4J

文章目录背景SLF4J概述切换日志框架实际应用配合自身简单日志实现(slf4j-simple)配置logback日志实现配置Log4J日志实现(需适配器)配置JUL日志实现(需适配器)添加slf4j-nop依赖(日志开关)桥接旧的日志实现框架背景 随着系统开发的进行,可能会更新不同的日志框架&am…

TF数据流图图与TensorBoard

2.1 TF数据流图 学习目标 目标 说明TensorFlow的数据流图结构应用 无内容预览 2.1.1 案例:TensorFlow实现一个加法运算 1 代码2 TensorFlow结构分析2.1.2 数据流图介绍 2.1.1 案例:TensorFlow实现一个加法运算 2.1.1.1 代码 def tensorflow_demo():&…

CMMI对企业有什么价值,如何高效落地?

1、获得权威认证 CMMI是全球性软件与系统工程行业的唯一权威认证,是对企业软件研发与能力服务的认可。 CMMI企业价值 CoCode项目管理全面支持CMMI3-5级高效落地​ 2、降本增效,提高企业能力。 CMMI对软件开发过程进行规范化梳理,保证软…

虚拟机ubuntu系统内存满,无法进入桌面,扩展内存

1、 关闭虚拟机,在虚拟机设置中将原先20GB扩展到30GB 注意:有快照需要删除快照后才能扩展 2、命令行进入ubuntu 内存满了,无法进入Ubuntu图形界面 按下ctrlaltf2~f6组合键 输入用户名和密码进入命令行模式 3、删除一些东西 删除回收站…

vuex的modules和辅助函数

一、回顾:vuex状态管理器1、版本问题:vue2对应的是vuex3;vue3对应的vuex42、vuex作用:每个vuex中都有一个Store(仓库),用于管理vue项目中用到的状态变量(属性)。vuex维护的是一个单一的状态树vu…

工作常用cron总结

一、cron表达式详解 corn从左到右(用空格隔开): 秒 分 小时 日 月 周 (星期中的日期,1代表周日,7代表周六) 年 定时任务统计 数据同步 0 0 10 * * ? 每天上午10点触发…

Spring 整合Mybatis。

目录 一、环境准备 1、Mybatis 环境 2、整合思路分析 二、Spring整合Mybatis 三、Spring整合Junit 一、环境准备 1、Mybatis 环境 ▶ 步骤1 : 准备数据库表 Mybatis是来操作数据库表,所以先创建一个数据库及表 create database spring_db character set utf8; …

LeetCode刷题系列 -- 1008. 前序遍历构造二叉搜索树

给定一个整数数组,它表示BST(即 二叉搜索树 )的 先序遍历 ,构造树并返回其根。保证 对于给定的测试用例,总是有可能找到具有给定需求的二叉搜索树。二叉搜索树 是一棵二叉树,其中每个节点, Node.left 的任何后代的值 严…

JVM的理解(垃圾回收算法和类加载过程)

文章目录1、JVM的位置2、JVM的体系结构3、JVM组件3.1、类加载器(加载class文件)3.1.1、类加载器的执行步骤3.2、PC寄存器3.3、方法区3.4、栈3.5、堆4、GC算法4.1、引用计数法4.2、复制算法1、模型2、原理图4.3、标记清除4.4、标记压缩总结:1、…

2023年了学Java还能找到工作么?

Java人才需求缺口巨大 为何还有人找不到工作? 近两年,传统企业开始数字化转型,各企业对互联网IT技术人才呈现井喷趋势。对于进可攻前端、后可守后端的Java程序员而言,市场对他们青睐有加,薪资更是水涨船高。然而在…

Cesium 本地化部署和新增sandcastle案例

源码下载git clone https://gitee.com/mirrors-gis/cesium.gitcd cesium npm install // or yarn install构建 因为下载的源码,还没有构建出cesium的api,以及api对应的文档 ,如果此时直接运行 npm start ,会启动一个8080端口的一个服务,通过 http://localhost:8080 可以看…

SpringCloud Alibaba_Nacos服务注册和配置中心

目录一、Nacos简介1.为什么叫Nacos2.是什么3.能干嘛4.去哪下5.各种注册中心比较二、安装并运行Nacos三、Nacos作为服务注册中心演示1.官网文档2.基于Nacos的服务提供者3.基于Nacos的服务消费者4.服务注册中心对比4.1 Nacos和CAP4.2 Nacos支持AP和CP模式的切换四、Nacos作为服务…

sonar的安装以及使用

sonar的安装以及使用简介1. sonar是什么2. SonarQube与Sonar安装1.下载sonarqubexxx.zip并且解压即可:2.配置数据库3.重启sonarQube会自动建表。使用1.下载sonar-scanner:(这个工具是对源码进行扫描,并将结果保存到数据库以便用上面的sonarqube进行分析)2.配置mysql…

Spring Cloud 以及 Spring Cloud Alibaba 使用总结

title: Spring Cloud 以及 Spring Cloud Alibaba 使用总结 date: 2023-01-13 11:54:15 tags: Spring categories:Spring cover: https://cover.png feature: false 1. 版本对应 官网版本说明:版本说明 alibaba/spring-cloud-alibaba Wiki (github.com) 这里使用 …

通过应用场景深度理解监控宝在业务中的实践价值

近年来,越来越多的企业实现了核心业务系统互联网化,无论是企业内部员工还是企业外部用户或是供应链上下游合作伙伴,均通过互联网和Web应用与企业建立起了紧密的联系。基于此,网络性能对企业业务的影响也变得越来越重要&#xff0c…

阿里云服务器使用docker部署springboot+mysql+redis项目

首先,由于springboot中使用的内置的tomcat,需要讲将ttp转为https的自行搜索博客把: 步骤大概是再阿里云上注册免费SSL证书,下载证书后 拖到项目资源目录下,配置application.properties相关属性 下面引出博客主要内容……

校园网免认证上网的方法

很多时候,当流量不够用时,看着周围那么多热点又连不上,是不是有点心痒痒呢?那么有没有办法不需要要通过这些热点的认证即可上网呢?当然是有的。另外在此强调一点,本教程仅用于学习测试用途,请勿…

【靶机】vulnhub靶机my_file_server2

靶机下载地址:My File Server: 2 ~ VulnHubip:192.168.174.144Kali:192.168.174.128使用arp-scan扫描到ip是使用nmap扫描开放的端口信息,发现靶机开放端口信息如下21端口ftp服务,允许匿名(anonymous&#x…

编译安装nacos集群部署

Nacos 基于 java 开发的,运行依赖于 java 环境。依赖 64 bit JDK 1.8服务器准备:192.168.11.139、192.168.11.141、192.168.11.142 1.首先上传jdk的包 三台都操作tar xzf jdk-8u121-linux-x64.tar.gz -C /usr/local/ 解压jdk的包cd /usr/local/ 切换至解…

计算机图形学 第9章 自由曲线曲面

第8章不学 目录 # 学习目标 # 消隐 ## 定义 1.线框模型 2.表面模型 3.实体模型 双表结构 定义三维顶点类 定义表面类 读入立方体的点表 读入立方体的面表 1.柏拉图多面体 柏拉图多面体对偶性 正四面体 正八面体 正十二面体 黄金数 黄金矩形 黄金三角形 光滑物体 …