大话数据结构Java版第一节

为追求学习中的完美,再次拿起书本梳理数据结构与算法,此笔记是按照程杰老师的《大话数据结构》为教材进行学习,如有不妥之处请联系作者删除。

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

1、基本概念

  • 数据结构:是相互之间存在一种或多种特定关系的数据元素的集合;
  • 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合;
    • 可以输入到计算机中;
    • 能被计算机程序处理。
  • 数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。
  • 数据项:一个数据元素可以由若干个数据项组成;
    • 数据项是数据不可分割的最小单元。
  • 数据对象:是性质相同的数据元素的集合,是数据的子集。

2、逻辑结构与物理结构

按照视点的不同,数据结构可分为逻辑结构物理结构

2.1、逻辑结构

  • 是指数据对象元素之间的相互关系。可以分为下面几种:

    • 集合结构:集合中的数据元素除了同属一集合外,他们之间没有任何关系。
    • 线性结构:线性结构中的数据元素之间是一对一的关系
    • 树形结构:树形结构中的数据元素之间存在一种一对多层次关系
    • 图形结构:图形结构的数据元素是多对多的关系。
  • 逻辑结构是针对具体问题的,是为了解决某个问题,在对问题的理解基础上,选择一个合适的数据结构来表示数据元素之间的逻辑关系。

2.2、物理结构(存储结构)

  • 是指数据的逻辑结构在计算机中的存储形式
  • 数据元素的存储结构有两种:顺序存储链式存储
  • 顺序存储结构
    • 是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。
  • 链式存储结构
    • 是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。
    • 逻辑结构是面向问题的,而物理结构是面向计算机的,其基本的目标就是将数据及其逻辑关系存储到计算机的内存中。

3、抽象数据类型

3.1、数据类型

  • 数据类型:是指一组性质相同的值的集合及定义在此集合的上的一些操作总称。
  • 抽象是指抽取事物具有的普遍性质
    • 抽出问题的特征忽略非本质的细节是对具体事物的一个概括;
    • 抽象是一种思考问题的方式,它隐藏了复杂的细节,只保留实现目标所必须的信息。

3.2、抽象数据类型

  • 对已有的数据类型进行抽象,就有了抽象数据类型。
  • 抽型数据类型(Abstract Data Type ADT):是指一个数学模型及定义在该模型上的一组操作。
    • 抽象的意义在于数据类型的数学抽象特征。
    • 抽象数据类型体现了程序设计中 问题分解抽象和信息隐藏的特性。

大话数据结构Java版第一节相关推荐

  1. Java入门 第一节 计算机的基础概念+Java环境配置

    文章目录 1 计算机基本知识了解 1.1 啥是计算机? 1.2 计算机硬件系统 1.3 计算机软件系统 1.3.1 程序 1.4 计算机语言 1.5 计算机快捷键介绍 1.6 常见的Dos命令操作 2 ...

  2. 数据结构(Java版 2022-10-30)

    第一章:算法介绍 数据结构与算法面试题" 一.字符串匹配问题:有一个字符串str1="计算机科学与技术学院欢迎您!" 和另一个字符串 str2="计算机科学与技 ...

  3. 数据结构(Java版2022-10-29)

    第一章:算法介绍 数据结构与算法面试题" 一.字符串匹配问题:有一个字符串str1="计算机科学与技术学院欢迎您!" 和另一个字符串 str2="计算机科学与技 ...

  4. 微信公众平台深度开发JAVA版第一季 08.接收普通消息1

    上一节讲了开发的接口接入这一部分,这是非常重要的. 实现业务的逻辑应该写在POST方法这一块. GET是消息验证用的,验证接口那一块的. XML数据包:腾讯服务器传过来的数据是XML格式的传到你的业务 ...

  5. 数据结构Java版实验五_实验五数据结构综合应用 20162310

    分析系统架构 Sprite精灵类 ISprite精灵类是所有类的父类 CombatAircraft战斗机类 首先确保战斗机完全位于Canvas范围内,每隔7帧发射单发黄色子弹. protected v ...

  6. 数据结构(java版)SortedSeqList(排序顺序表)

    SortedSeqList(排序顺序表) 代码部分: public class SortedSeqList<T extends Comparable<? super T>> e ...

  7. 数据结构java版txt,图解数据结构:使用Java

    图解数据结构:使用Java 下载 mobi epub pdf ☆☆☆☆☆ 胡昭民 著 下载链接在页面底部 发表于2021-03-10 图书介绍 出版社: 清华大学出版社 ISBN:9787302402 ...

  8. 微信公众平台深度开发JAVA版第一季 22.微信猜数字活动4

    select count(*) from huo t where t.shuzi='0' 这个SQL语句查不查询得到记录取决于两个条件:第一个是数据库里面有没有这个数字,第二个是getCountByS ...

  9. 微信公众平台深度开发JAVA版第一季 15.响应被动消息3

    微信开发难度不大,但是逻辑关系很强. 这节课主要讲微信接口,至于在J2EE平台怎么把程序构造的更好不在这节课里面讨论. package net.wxinterface; import java.io. ...

  10. 大话数据结构 java源代码_大话数据结构(八)Java程序——双向链表的实现

    packagecom.aclie.dataStructe4.sqeList;public classMyDoubleLinkList {private int length =0;//当前长度 pri ...

最新文章

  1. java opengl es_Java-Android-使用openGL ES绘制3D然后绘制2D
  2. 从央视到谷歌:聊一聊竞价广告的机制设计
  3. 《孤岛惊魂5》游戏中的地形渲染技术-网格生成
  4. 为什么我喜欢Java的细节
  5. mysql sql security_MySQL笔记-definer与SQL SECURITY
  6. 常见Web安全漏洞及测试方法(转载)
  7. 仿写网易云-项目初始化-扫描二维码登录
  8. SQLHelper蓦然回首
  9. CentOS7常用操作-笔记
  10. D:\ProgramData\Anaconda3\envs\test_onnx\python.exe: No module named pip
  11. java中IOException是什么异常
  12. 运维知识讲解之电脑局域网服务器的密码设置和修改
  13. 新一代开源免费的轻量级 SSH 终端,非常炫酷好用
  14. 利用JS来实现表格的全选、全不选、反选以及删除的功能
  15. 日志(Logger)
  16. 计算机专业二本可以考cfa,计算机专业的CFA考生的备考经验分享
  17. stm32f407探索者开发板(一)——资源介绍(顺便说下无人机的进度状况)
  18. 企业邮箱哪个品牌好?
  19. html+javascript登录注册界面源码
  20. 元宇宙:6层框架和3个核心底层技术

热门文章

  1. Panabit应用层流量管理系统
  2. jdk 各版本官网下载
  3. mysql 局域网数据库共享,SQL Server 2005 在局域网中共享数据库
  4. 凯撒/摩斯/栅栏/维吉尼亚/元音密码加解密的Python实现
  5. ebm风扇选型手册_德国EBM全系列散热风扇
  6. 看看哪些小程序能帮你赚点零花钱!
  7. 电子签名服务和云平台整合管理合同
  8. 电子报纸的分析即制作
  9. CSDN论坛新手指南
  10. maven下载安装配置3.5.2