【数据结构】绪论

绪论

  • 1.1数据结构的基本概念
    • 1.1.1 基本概念和术语
    • 1.1.2数据结构的三要素
  • 1.2 算法与算法评价

1.1数据结构的基本概念

1.1.1 基本概念和术语

  • 数据
    • 数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别 和处理的符号的集合。数据是计算机程序加工的原料。
  • 数据元素、数据项
    • 数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。
    • 一个数据元素可由若干数据项组成,数据项是构成数据元素的不可分割的最小单位。

  • 数据对象
    • 数据对象是具有相同性质数据元素的集合,是数据的子集
    • 全国所有门店的排队顾客信息

  • 数据类型

    • 数据类型是一个值的集合以及定义在此集合上一组操作的总称
      数据类型=数据元素+数据操作

    • 原子类型 eg:int

    • 结构类型 eg:结构体

    • 抽象数据类型ADT:只需关心逻辑结构,无需关心具体实现、存储结构

      ADT 抽象数据类型
      {
      数据对象(数据对象的定义)
      数据关系(数据关系的定义)
      基本操作(基本操作的定义)
      }ADT 抽象数据类型名
      
  • 数据结构

    • 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
    • 数据结构 = 数据元素 + 数据关系

1.1.2数据结构的三要素

  • 数据的逻辑结构

    • 集合:数据元素同属一个集合,别无其他关系
      线性结构:一对一
      树:一对多
      图:多对多

  • 数据的存储结构

  • 知识点回顾

1.2 算法与算法评价

算法的特性

  • 有穷性。一个算法必须总在执行有穷步之后结束,且每一步都可在有穷时间内完成。

  • 确定性:相同输入得到相同输出。

  • 可行性:算法中描述的操作都可以通过已经实现的基本运算执行有限次来实现。

  • 输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象的集合。

  • 输出:一个算法有一个或多个输出,这些输出是与输入有着某种特定关系的量。

算法的时间复杂度


算法的空间复杂度

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

笔记随笔:基于selvlet的Web应用程序流程

前言: 欢迎阅读本文,本文将介绍基于Servlet的Web应用程序的开发流程。Servlet是Java技术中用于处理Web请求和生成动态内容的核心组件之一。通过学习本文,您将了解从项目结构搭建到Servlet类编写、配置和部署的全流程,帮助您快速入…

切面(增强)的优先级

Component Aspect Order(value 10)//为增强类指定一个优先级的值,值越小,优先级越高,优先级越高的前置先执行,后置后执行,类似洋葱 为增强类指定一个优先级的值,值越小,优先级越高,优先级越高的前置先执行,后置后执行,类似洋葱 首先会执行前置通知,再执行目标方法,按照顺序和优…

huggingface 使用入门笔记

概念 Hugging Face Hub​​和 Github 类似,都是Hub(社区)。Hugging Face可以说的上是机器学习界的Github。Hugging Face为用户提供了以下主要功能: ​模型仓库(Model Repository)​​:Git仓库可以让你管理代码版本、…

【C++深入浅出】类和对象中篇(六种默认成员函数、运算符重载)

目录 一. 前言 二. 默认成员函数 三. 构造函数 3.1 概念 3.2 特性 四. 析构函数 4.1 概念 4.2 特性 五. 拷贝构造函数 5.1 概念 5.2 特性 六. 运算符重载 6.1 引入 6.2 概念 6.3 注意事项 6.4 重载示例 6.5 赋值运算符重载 6.6 前置和后置运算符重载 七. c…

Ardupilot — AP_OpticalFlow代码梳理

文章目录 前言 1 Copter.cpp 1.1 void Copter::setup() 2 system.cpp 2.1 void Copter::init_ardupilot() 3 sensors.cpp 3.1 void Copter::init_optflow() 3.2 对象optflow说明 4 OpticalFlow.cpp 4.1 void OpticalFlow::init(uint32_t log_bit) 5 AP_OpticalFlow_…

数据结构与算法-二叉搜索树红黑树

一:二叉搜索树 大家来看以下几个结构:下图中的 二叉搜索树又叫二叉查找树,二叉排序树; 它具有以下特点: 1.如果它的左子树不为空,则左子树上结点的值都小于根结点。 2.如果它的右子树不为空,则右…

Matlab图像处理-自适应阈值

自适应阈值 在许多的情况下,背景的灰度值并不是常数,物体和背景的对比度在图像中也有变化。这时,一个在图像中某一区域效果良好的阈值在其它区域却可能效果很差。在这种情况下,把灰度阈值取成一个随图像中位置缓慢变化的函数值是…

SNMP的监控

SNMP的监控 一、SNMP 介绍1.1 什么是SNMP1.2 SNMP的组件1.2.1 网络管理系统 NMS(Network Management System)1.2.2 代理进程(Agent)1.2.3 被管对象(Managed Object)1.2.4 管理信息库MIB(Managem…

linux c++ 开发 - 05- 使用CMake创建一个动态库

外层CMakeList.txt中的内容: cmake_minimum_required(VERSION 3.16) PROJECT(HELLO) ADD_SUBDIRECTORY(lib bin)lib中CMakeLists.txt中的内容: SET(LIBHELLO_SRC hello.cpp) ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC})hello.h: hello.cpp: ADD_LIBR…

多元共进|科技促进艺术发展,助力文化传承

科技发展助力文化和艺术的传播 融合传统与创新,碰撞独特魅力 一起来了解 2023 Google 开发者大会上 谷歌如何依托科技创新 推动艺术与文化连接 传承和弘扬传统文化 自 2011 年成立以来,谷歌艺术与文化致力于提供体验艺术和文化的新方式,从生成…

mysql基于AES_ENCRYPTAES_DECRYPT实现密码的加密与解密

1.直接使用AES_ENCRYPT&&AES_DECRYPT函数导致的问题。 执行语句 select AES_ENCRYPT(cd123,key) 结果 加密过后的字符串是一串很奇怪的字符。 尝试使用上面加密过后的字符解密。 select AES_DECRYPT(u5£d|#,key) 结果 并未成功的解密 2.解决办法 使用 hex(…

【漏洞复现】网互联路由器存在密码泄露

漏洞描述 蜂网互联-让链接无限可能,灵活的多线分流,强大的策略分流,灵活调度各种软件应用,深度识别系统,各种应用一网打尽,灵活调整优先级,最简单的路由器,简洁易学的配置&#xff…

MyBatisPlus 基础Mapperr接口:增删改查

MyBatisPlus 基础Mapper接口:增删改查 插入一条数据 代码 Testpublic void insert() {User user new User();user.setId(6L);user.setName("张三");user.setAge(25);user.setEmail("zhangsanexample.com");userMapper.insert(user);}日志 数…

单元测试与自测

单元测试在百度百科的定义: 自测在百度百科的定义: 单元测试是测一个类或一个函数,自立门第main函数,不依赖于项目,预期的是这个类或函数是没有问题的。程序编码完成之后至各种测试再到用户使用一二十年出现的任何bug都…

IDEA中的“Deployment“ 将项目直接部署到服务器上

ntelliJ IDEA中的"Deployment"工具栏是一个方便的工具,用于将你的项目直接部署到服务器上。这个工具栏提供了三种部署的方式: 1.Web Server在本地电脑上,并且服务器运行目录也在项目目录下。 2.Web Server在本地电脑上,…

nuxt3项目使用pdfjs-dist预览pdf

使用的包的源代码是 pdfjs - npm 但是我们实际上项目中使用的是pdfjs打包后的dist文件,也就是pdfjs-dist - npm 所以我们需要使用这个命令 npm i pdfjs-dist 我们可以克隆pdfjs这个包来看源代码,里面有使用的例子,也可以根据源代码自己打…

Vue中数据可视化关系图展示与关系图分析

Vue中数据可视化关系图展示与关系图分析 数据可视化是现代Web应用程序的重要组成部分之一,它可以帮助我们以图形的方式呈现和分析复杂的数据关系。Vue.js是一个流行的JavaScript框架,它提供了强大的工具来构建数据可视化应用。本文将介绍如何使用Vue.js…

JavaWeb知识梳理(后端部分)

JavaWeb 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。 静态web资源开发技术&#xff1…

Spring Data JPA:简化数据库交互的艺术

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

代码随想录第45天|70. 爬楼梯,322. 零钱兑换,279.完全平方数

70. 爬楼梯 开始按感觉做 class Solution {public int climbStairs(int n) {//第一版按感觉做//dp[i]爬到第i个台阶的方法数int[] dpnew int[n1];//初始化dp[0]1;dp[1]1;for(int i2;i<n;i){dp[i]dp[i-1]dp[i-2];}return dp[n];} } 改进-用完全背包做 这是背包里求排列问…