`
m635674608
  • 浏览: 5041335 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

数据结构与算法

 
阅读更多

数据结构是对在计算机内存中(有时在磁盘中)的数据的一种安排。数据结果包括数组、链表、栈、二叉树、哈希表等等。算法对这些结构中的数据进行各种处理,例如,查找一条特殊的数据项或对数据进行排序。

可用于下面三类情况:

  • 现实数据存储

  • 程序员的工具

  • 建模

数据结构的特性:

数据结构 优点 缺点
数组 插入快,如果知道下标,可以非常快地存取 查找慢,删除慢,大小固定
有序数组 比无序的数组查找快 删除和插入慢,大小固定
提供后进先出(先进后出FILO)的方式存取 存取其他项很慢
队列 提供先进先出的方式存取(FIFO) 存取其他项很慢
链表 插入快,删除慢 查找慢
二叉树 查找、插入、删除都快(如果如果树保持平衡) 删除算法复杂
红-黑树 查找、插入、删除都快。树总是平衡的 算法复杂
2-3-4树 查找、插入、删除都快。树总是平衡的。类似的树对磁盘存储有用 算法复杂
哈希表 如果关键字已知则存取极快。插入快 删除慢,如果不知道关键之则存取很慢,对存储空间使用不充分
插入、删除快,对最大数据项的存取很快 对其他数据项存取慢
对现实世界建模 有些算法慢且复杂

上表中的数据结构除了数组之外 都可以被认为是抽象数据结构(ADT)。

算法的概述

      对于大多数数据结构来说,都需要知道如何:

  • 插入一条新的数据项

  • 寻找某一特定的数据项

  • 删除某一特定的数据项

    还需要知道如何迭代地访问某一数据机构中的各项数据项,以便进行显示或其他操作。

    另一种重要的算法范畴是排序,排序有许多种算法。简单排序和高级排序 。

    递归的概念在设计某些算法时十分重要。递归意味着一个方法调用它自身。     

一些定义

    数据库(database)

            表示在某一特定情况下所有查阅的数据,数据库中每一条数据都被认为是同样格式的。例如,如果使用索引看片来做一本地址薄,其中所有的卡片便构成了一个数据。文件这个数据有时也有代表同样的意思。

    记录(record)

            记录时指数据库中划分成的单元。

    字段(field)

            一条记录经常被划分为几个字段。一个字段保存某一种特定的数据。

    关键字

            在数据库中查找一条记录,需要制定记录的某一个字段为关键字(或查找关键字)。通过这个特定的关键字来进行查找。    

面向对象编程

    过程性语言的问题

            一是程序与现实世界缺乏对应关系。

            使用过程语言对现实世界问题进行抽象及概念化十分困难:方法执行任务,而数据存储信息,但是现实世界中的事物是对二者同时进行操作的。例如,炉子上的自动调温器执行任务(炉子的开关)但同时也存储信息(现在的温度和所希望的温度)。

            二是程序内部的结构出现了问题。

            解决程序的内部组织结构是一个更微妙而且事关重大的问题。

对象简述

    对象

            面向对象编程思想的关键性突破就是:一个对象同时包括方法和变量。

    

            类是针对一个对象或多个对象的说明(或蓝图)。

    创建对象

            类的声明并没有创建这个类的任何对象,java使用关键字new。在创建对象的同时,需要将一个引用存储到一个具体有适合的类型的变量中。

    面向对象的几个重要特性:

  • 对象同时包括方法和字段(数据)。

  • 类是任意数目对象的说明。

  • 创建一个对象,要将关键字new和类的名称连用。

  • 调用一个对象的方法,要使用点运算符。            

Java数据结构的类库

            Java.util包中包含有诸如向量(一个可扩充的数组)、栈、库(dictionary)和哈希表等类型的数据结构。

小结

  • 数据结构是指数据在计算机内存空间中或磁盘中的组织形式。

  • 正确选择数据结构会使程序的效率大大提高。

  • 数据结构的例子有数组、栈、和链表。

  • 算法是完成特定任务的过程。

  • 在Java中、算法经常通过类的方法实现。

  • 在本书的大部分数据机构和算法经常被用来建造数据库。

  • 一些数据结构的用途是作为程序员的工具:它们帮助执行算法。

  • 其他数据结构可以模仿显示世界中的情况,例如城市之间的电话线网。

  • 数据库是指由许多类似的记录组成的数据存储的集合。

  • 一条记录经常表示显示世界中的一个事物,例如一名雇员或一个汽车零件。

  • 一条记录被分成字段。每个字段都存储了 由这个记录所描述事物的一条特性。

  • 一个关键字是一条记录中的一个字段,通过它可以对数据执行许多操作。例如,人事记录可以通过LastName字段进行排序。

  • 可以搜索数据以便找到关键字字段有定值的所有记录,这个值被称为查找关键字。

  •  

分享到:
评论

相关推荐

    数据结构与算法分析--C语言描述_数据结构与算法_

    数据结构与算法是计算机科学的基础,对于理解和设计高效的软件至关重要。C语言因其高效、底层特性,常被用于实现数据结构和算法,使得程序更接近硬件,性能更优。本资源"数据结构与算法分析--C语言描述"是针对数据...

    JS数据结构与算法.pdf

    JS 数据结构与算法.pdf 本书主要介绍了 JavaScript 语言的基础知识,包括数据结构和算法。以下是该书的详细知识点: 一、JavaScript 基础知识 * 变量和数据类型 * 运算符和控制结构 * 函数和对象 * 数组和字符串 ...

    数据结构与算法分析电子书合集

    数据结构与算法分析是计算机科学中的核心领域,对于任何想要深入理解编程和软件开发的人员来说,这都是不可或缺的知识。这个电子书合集包含了23本相关书籍,其中包括经典著作如《算法导论》、《编程之美》以及《设计...

    数据结构与算法之美

    数据结构与算法是计算机科学领域的两大基石,它们几乎无处不在地影响着我们的日常生活和工作。尽管很多人可能会有这样的误解,认为数据结构和算法是高深且脱离实际工作的理论知识,只在面试或者特定情况下才会用到。...

    数据结构与算法 数据结构与算法课后习题答案

    数据结构与算法是计算机科学的基础,它涉及到如何有效地组织和管理数据,以便进行高效地查找、存储和处理。本资源包含的数据结构与算法课后习题答案,是学习这一领域的重要辅助材料,可以帮助学生深入理解和巩固所学...

    Python数据结构与算法分析.docx

    Python 数据结构与算法分析 Python 数据结构与算法分析是计算机科学中的一门重要课程,涵盖了数据结构和算法两个方面的内容。在 Python 中,数据结构是指对数据的组织、存储和管理方式,而算法则是指解决问题或完成...

    PTA-数据结构与算法题目集.zip

    PTA-数据结构与算法题目集 PTA-数据结构与算法题目集 PTA-数据结构与算法题目集 PTA-数据结构与算法题目集 PTA-数据结构与算法题目集 PTA-数据结构与算法题目集 PTA-数据结构与算法题目集 PTA-数据结构与算法题目集 ...

    数据结构与算法视频课程(59集)

    资源名称:数据结构与算法视频课程(59集)资源目录:【】mysql视频教程第41讲存储过程【】数据结构与算法_1.10算法的评价【】数据结构与算法_1.1编程的灵魂:数据结构 算法【】数据结构与算法_1.2算法的作用:猜...

    java数据结构与算法.pdf

    在编程领域,数据结构与算法是核心组成部分,它们直接影响到程序的效率和性能。Java作为广泛应用的编程语言,其在实现数据结构和算法时有着丰富的库支持和优秀的可读性。下面将对标题和描述中提到的一些关键知识点...

    python数据结构与算法

    python数据结构与算法python数据结构与算法python数据结构与算法python数据结构与算法python数据结构与算法python数据结构与算法python数据结构与算法python数据结构与算法python数据结构与算法python数据结构与算法...

    Java数据结构与算法第二版源代码

    《Java数据结构与算法第二版源代码》是一个深入学习Java编程和算法的重要资源,它包含了丰富的实例和程序,旨在帮助开发者提升对数据结构和算法的理解与应用能力。在这个压缩包中,有两个主要的子文件:...

    数据结构与算法教程

    数据结构与算法是计算机科学的核心内容,它们在解决实际问题、提高程序效率以及编写高质量软件中扮演着至关重要的角色。数据结构是计算机存储、组织数据的方式,它可以帮助我们在计算机中以更加高效和合适的方式表示...

    数据结构与算法.pdf

    数据结构与算法.pdf 数据结构是计算机科学中的一门重要课程,涉及到数据的逻辑结构、存储结构、算法等方面的知识。在本文件中,我们将详细介绍数据结构的基本概念、逻辑结构、存储结构、抽象数据类型、算法等知识点...

    数据结构与算法(C#版)

    ### 数据结构与算法(C#版)关键知识点解析 #### 一、引言 《数据结构与算法(C#版)》是一本旨在通过C#语言来介绍数据结构与算法原理的书籍。随着C#语言和.NET Framework的发展,这本书不仅填补了国内以C#语言讲解...

    数据结构与算法分析—c语言描述

    《数据结构与算法分析—C语言描述》是一本深度探讨数据结构和算法的书籍,它以C语言作为实现工具,为读者提供了丰富的编程实践指导。这本书涵盖了数据结构的基础理论、设计方法以及C语言的实现技巧,是计算机科学...

Global site tag (gtag.js) - Google Analytics