数据结构学习记录-1

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

  2.在任何问题中,数据元素都不是孤立存在的,而是在他们之间存在着某种关系,这种数据元素之间的关系叫做结构

  3.根据数据元素之间关系的不同特性,通常有4类基本结构:

    a.集合    结构中的数据元素之间除了“同属于用一个集合”的关系外,没有其他关系

    b.线性结构  结构中的数据元素存在一个对一个的关系

    c.树形结构  结构中的数据元素存在一个对多个的关系

    d.图形结构  结构中的数据元素存在多个对多个的关系

  4.结构定义中的“关系”描述的是数据元素之间的逻辑,因此有称之为数据的“逻辑结构

  5.数据结构在计算机中的表示(又称映像)称为数据的物理结构,又称为存储结构它包括数据元素的表示和关系的表示。

在计算机中表示信息的最小单位是二进制数的一位,叫做(bit)。在计算机中,我们可以用一个由若干位组合起来形成的一

个位串表示一个数据元素(如用一个字长的位串来表示一个整数,用8位二进制数来表示一个字符等),通常称这个位串位元素

或节点。因此元素或节点可以看成是数据元素在计算机中的映像。

  6.数据元素之间的关系在计算机中有两种不同的表示方法:顺序映像和非顺序映像,并由此得到两种不同的存储结构:

顺序存储结构链式存储结构,顺序映像的特点是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系,非顺序映像

的特点是借助指示元素存储地址的指针表示数据元素之间的逻辑关系,

  7.数据的逻辑结构和物理结构是密切相关的两个方面,任何一个算法的设计取决于选定的数据(逻辑)结构,而算法的实现

依赖于采用的存储(物理)结构

时间: 2024-11-10 13:16:46

数据结构学习记录-1的相关文章

数据结构学习记录_2019.02.09

解决问题方法的效率,跟空间的利用效率有关: 计算多项式:(最一般方法) double f(int n,double a[],double x) { int i; double p=a[0]; for(i=1;i<=n;i++) { p+=(a[i]*pow(x,i)); } return p; } 计算多项式:(提取公因式法) double f(int n,double a[],double x) { int i; double p=a[n]; for(i=n;i>0;i--) { p=a[i

学习记录:数据结构与算法分析c++版

数据结构与算法分析c++版 学习记录 一.绪论 1.数据结构的必要性 计算机程序被设计出来的目的不仅仅是为了计算,同时其也要完成数据的提取和检索任务,并尽可能地高效快速.在这个意义下,数据结构和算法分析作为程序的核心,就显得尤为重要.如何利用数据结构和算法,设计出简单易懂,并且高效地利用计算机资源的程序是这门课的核心议题. Def    一个算法被称为有效的(effective),如果其能在计算机的资源限制下解决相应问题:这些限制通常包括计算机储存量限制,以及算法运行的时间限制.    算法的消

Windows API 编程学习记录&lt;二&gt;

恩,开始写Windows API编程第二节吧. 上次介绍了几个关于Windows API编程最基本的概念,但是如果只是看这些概念,估计还是对Windows API不是很了解.这节我们就使用Windows API 让大家来了解下Windows API的用法. 第一个介绍的Windows API 当然是最经典的MessageBox,这个API 的作用就是在电脑上显示一个对话框,我们先来看看这个API的定义吧: int WINAPI MessageBox(HWND hWnd, LPCTSTR lpTe

Windows API 编程学习记录&lt;三&gt;

恩,开始写API编程的第三节,其实马上要考试了,但是不把这节写完,心里总感觉不舒服啊.写完赶紧去复习啊       在前两节中,我们介绍了Windows API 编程的一些基本概念和一个最基本API函数 MessageBox的使用,在这节中,我们就来正式编写一个Windows的窗口程序. 在具体编写代码之前,我们必须先要了解一下API 编写窗口程序具体的三个基本步骤:             1. 注册窗口类:             2.创建窗口:             3.显示窗口: 恩,

2016年5月份学习记录

                             2016年5月份学习记录 学c++都快5个月了,连一篇完整的学习记录都没写过,今天突发奇想(其实本来就应该写),就写了这么一篇学习记录(呵呵). 最近几天,一会不是写解题报告,就是做poj,有时玩会自己编(参考了别人代码的)的2048,页面做的还不错,还做coj.都快忙不过来了.最近又翻出一本叫<数据结构>的书,是清华大学的邓俊辉老师写的,很详细,还有示意图,很不错的书.准备“啃”个三四遍,反正一周“啃”完一次,课间也在那儿拼命地看,自

数据结构学习笔记(1)-数据结构与算法

基本概念和术语 1.数据  数据元素  数据对象   数据结构 数据:在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称. 数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理. 数据对象:是性质相同的数据元素的集合.是数据的一个子集. 数据结构:是相互之间存在一种或多种特定关系的数据元素的集合. 2.数据结构 数据结构分为逻辑结构和物理结构 2.1逻辑结构 逻辑结构表示数据之间的相互关系.通常有四种基本结构: 集合:结构中的数据元素除了同属于一种类型外,别

【数据结构学习笔记(C#描述)】(二)算法分析

由上一章的内容可知软件质量的重要特征之一就是能够高效的利用资源(运行效率),因此我们就要考虑如何创建出能够高效利用CPU及内存的数据结构与算法.而算法分析的目的就是为了让我们能够认识到算法对于资源的利用效率. 我们要想分析算法的效率,就需要找到一个评价算法效率的标准及方法. 一般我们如果能快速的利用CPU就会更好的节省时间,因此在时间层面上我们的评价标准就是时间复杂度,而如果我们能够较好的利用内存的话我们将会节省更多的内存空间,因此在空间层面上我们的评价标准就是空间复杂度. 所谓时间复杂度和空间

数据结构学习笔记——线性表的应用

数据结构学习笔记——线性表的应用 线性表的应用 线性表的自然连接 计算任意两个表的简单自然连接过程讨论线性表的应用.假设有两个表A和B,分别是m1行.n1列和m2行.n2列,它们简单自然连接结果C=A*B(i==j),其中i表示表A中列号,j表示表B中的列号,C为A和B的笛卡儿积中满足指定连接条件的所有记录组,该连接条件为表A的第i列与表B的第j列相等. 如:         1 2 3                3 5 A  =  2 3 3         B =  1 6       

linux内核数据结构学习总结(undone)

本文旨在整理内核和应用层分别涉及到的数据结构,从基础数据结构的角度来为内核研究作准备,会在今后的研究中不断补充 目录 1. 进程相关数据结构 1) struct task_struct 2. 内核中的队列/链表对象 3. 内核模块相关数据结构 2) struct module 1. 进程相关数据结构 0x1: task_struct 我们知道,在windows中使用PCB(进程控制块)来对进程的运行状态进行描述,对应的,在linux中使用task_struct结构体存储相关的进程信息,task_