数据结构-----(绪论)

1.数据结构的三要素:

1.逻辑结构: 是指元素之间的逻辑关系,与存储无关.包括线性结构和非线性结构。

a、线性结构的典型特征是最多只有一个前驱和一个后继。如 堆栈、队列、串(三个受限线性表);线性表、数组。。。

b、非线性不一定,如树、图、集合

2、存储结构:在计算机中的存储形式 包括元素的表示(依据数据类型)和数据之间的关系

a、顺序存储:逻辑上相邻的元素 物理存储也相邻.优点:随机存取 缺点:只能使用一块相邻的存储单元 可能产生很多外部碎片

b、链接存储:不要求逻辑相邻一定物理相邻,借助指示元素存储元素位置的指针表示元素之间的逻辑关系。优点:可以充分利用存储单元,不会产生碎片现象  缺点;只能顺序存取,而且指针占有额外的存储空间。

c、索引存储:建立索引表存储元素的位置

d、散列存储:根据元素的关键字直接计算其存储位置,优点 增删改都很快。 缺点;如果散列函数选取不当,会有大量计算冲突时间开销和空间开销

ps:链式存储设计时,各个不同节点的存储空间可以不连续,但节点内的存储单元地址则必须连续

数据的逻辑结构独立于其物理存储结构

2、算法的特性

有穷性:在有穷时间内执行结束

确定性:每一条指令(每一个操作)必须有确定的含义,不能二义性

可行性:一个算法的操作都可以转化为基本操作执行

输入:

输出:有输入和输出

3、常见的渐进复杂度比较

O(1)<O(log2^n)<O(n)<O(nlog2^n)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)

空间复杂度:定义算法所消耗的存储空间

时间: 2024-11-08 00:21:20

数据结构-----(绪论)的相关文章

Learning Data Structure_1_数据结构绪论和算法

今天回到了杭电,在戴荣学弟的帮助下暂住他的寝室,解决了基本的生活问题,可以多点时间精力开始学习阅读刘志老师给的暑假要求掌握的书籍和知识了. 首先是数据结构,手头上主要是两本教材,一本是严蔚敏等主编的<数据结构(c语言版)>,另一本是程杰编的<大话数据结构>,前者经典严谨,后者通俗有趣,应该是不错的选择.以下是简要的学习内容和笔记. 数据结构绪论 1.数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科. 2.掌握以下概念和术语:数据.数据

《大话数据结构》笔记(1)--数据结构绪论,算法

第一章 数据结构绪论 基本概念和术语 数据 数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合. 换言之,数据就是符号,而且具备两个前提: 1. 可以输入到计算机中 2. 能被计算机程序处理 数据元素 数据元素是组成数据的.有一定意义的基本单位,在计算机中通常作为整体处理.也被称为记录. 数据项 一个数据元素可以由若干个数据项组成. 数据项是数据不可分割的最小单位. 数据对象 数据对象是性质相同的数据元素的集合,是数据的子集. 数据结构 数据结构是

《大话数据结构》---第一章 数据结构绪论

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以前他们之间的关系和操作等相关问题的学科. 程序设计 = 数据结构 + 算法 数据:描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合.数据元素:组成数据的.有一定意义的基本单位,在计算机中通常作为整体处理.也被称为记录.数据项:一个数据元素可以由若干个数据项组成,数据项是数据不可分割的最小单位.数据对象:是性质相同的数据元素的集合,是数据的子集.(性质相同即具有相同数量和类型的数据项)数据结构:是

数据结构-绪论

上学的时候不知道数据结构是什么,也不知道它干什么的用的,所以浑浑噩噩的学完了.现在转型做c++开发才发现这东西很重要,虽然有STL和BOOSt,但是有什么比自己实现一个更方便的呢. 数据结构是什么 这个没有什么什么标准答案,最通常的说法就是:数据元素和数据元素之间的关系.我们从实际问题出发,抽象出数学模型,这个抽象的过程中提取出数据元素和他们之间的关系,数据元素的关系可以称为数据的逻辑结构,怎么在计算机汇实现这种逻辑结构就需要存储结构,数据的存储结构是数据结构的实现形式,它包含数据的表示和关系的

数据结构绪论

一.数据结构定义介绍 1.数据结构:相互之间存在一种或多种特定关系的数据元素的集合. 2.数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科. 程序设计 = 数据结构 + 算法 二.基本概念和术语 1.数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合. 注:声音.视频.图像等也是数据,可以通过编码输入到计算机中. 2.数据元素:是数据的基本单位,在计算机程序中通常作为整体进行处理.也被成为记录. 3

[数据结构]绪论(二)

逻辑结构类型 集合(平等) 线性结构(一对一) 树形结构(一对多) 图形结构(多对多) 存储结构类型 顺序存储结构 链式存储结构 索引存储结构 哈希(散列)存储结构 数据类型:一个值的集合和定义在此集合上的一组操作的总称.(eg:int) 抽象数据类型ADT=逻辑结构+抽象运算(eg:复数)complex 数据结构求解问题的过程 问题描述 设计存储结构 算法设计 算法分析

《大话数据结构》 第一讲.数据结构绪论 (读书笔记)

大话数据结构 导读笔记 第一讲: 一.基本概念和术语 (1)数据元素:是组成数据的.有一定意义的基本单位,在计算机中通常作为整体处理.也被称为记录.   比如,在人类中,什么是数据元素呀?当然是人了. (2)数据项:一个数据元素可以由若干个数据项组成.   比如人这样的数据元素,可以有眼.耳.鼻.嘴.手.脚这些数据项,也可以有姓名.年龄.性别.出生地址.联系电话等数据项,具体有哪些数据项,要视你做的系统来决定. 数据项是数据不可分割的最小单位.在数据结构这门课程中,我们把数据项定义为最小单位,是

第一章 数据结构绪论

本文章作为学习笔记,大量参考了<大话数据结构>这本书,因为没有用于商业活动,而且也算是为作者做了一个小小的宣传,作者应该不会告我侵权,哈. 数据结构的概念:是相互之间存在的一种或多种特定关系的数据元素的集合.(学了半天这个概念得知道吧!) 开场白 数据结构有什么用?如果你想走程序员的道路,如果你不想一辈子搬砖,如果你想比别人工资高百分之三十,如果你想让家人过上好日子,如果...  够现实了吧! 数据结构的起源 数据结构是程序员的炼狱,你经历了数据结构的"折磨"才能蜕变.数据

第1章 数据结构绪论

程序设计 = 数据结构 + 算法 数据结构的一些相关概念: 数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合. 数据结构的分类: 逻辑结构是面向问题的.而物理结构是面向计算机的.其主要的目标就是将数据及其逻辑关系存储到计算机的内存中. 数据类型(以C语言为例)分为原子类型(整型.字符型等)和结构类型(如整型数组). 抽象数据类型(即对已有的数据类型进行抽象,如对一个点的描写叙述抽象为point类型:Abstract Data Type, ADT):指一个数学模型及定义在给

【算法】 算法和数据结构绪论

算法和算法分析 先说点无关紧要的.初中的时候,知道有CS这门专门的学科存在的时候最开始的概念中CS就是等同于算法.这有可能是因为当时的前桌是后来一代CS传奇WJMZBMR..因为当时看起来十分高端,再加上后来努力的方向完全和CS不搭边,所以对于算法二字一直心中抱着一种敬畏之情,觉得是整个CS中最干的干货部分.后来决定入这行之后,我的领导对我说算法这东西虽然很高大上,但是在日常工作中我们用的并不多(我们部门主要做运维和DevOps,确实对这方面的需求不大)所以也就一直耽搁着.但是随着深入,以及在网