一个程序主要包括以下两方面的信息: (1)对数据的描述 在程序中要指定用到哪些数据,以及这些数据的类型和数据的组织形式。这就是数据结构(data structure) 。 (2)对操作的描述 要求计算机进行操作的步骤,也就是算法(algorithm)。 数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。 著名计算机...
1、程序 = 数据结构 + 算法 。数据是程序的中心。数据结构和算法两个概念间的逻辑关系贯穿了整个程序世界,首先二者表现为不可分割的关系。没有数据间的有机关系,程序根本无法设计。 2、数据结构与算法关系:数据结构是底层,算法高层。数据结构为算法提供服务。算法围绕数据结构操作。 3、解决问题(算法)需要选择正确...
数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。 数据结构我们常见的如: 数组、栈、队列、哈希表、二叉树、图等等,而算法如: 排序算法、哈希算法、最短路径算法、字符串匹配算法等等。数据结构是为算法服务的,算法要作用在特定的数据结构之上。 因此,我们无法孤立数据结构来讲算法,也无法孤立算法...
线性结构:数据元素之间有一一对应的关系 树形结构:数据元素之间有一对多的关系 图形结构:数据元素之间有多对多的关系 2.2物理结构 物理结构是逻辑结构在计算机中的表示方式,一般有顺序存储结构和链式存储结构 顺序存储结构: 把若干数据元素存储到地址连续的数据单元里的结构,常用的数组就是这种结构,顺序存储结构对于指定元...
第2章 算法 — 程序的灵魂 一个程序主要包括以下两方面的信息: 对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式也就是数据结构(data structure) 对操作的描述。即要求计算机进行操作的步骤也就是算法(algorithm) 算法+ 数据结构 = 程序 ...
循环结构:循环结构是重复执行一个或几个模块,直到满足某一条件位置 重新设计基本结构要满足以下几点: 只有一个入口 只有一个出口 结构内的每一部分都有机会执行到 结构内不存在死循环 第二章目录回顾: 2.1程序=算法+数据结构15 2.2什么是算法16 2.3简单的算法举例17 ...
我倾向于数据结构与算法一起来谈,毕竟数据结构是为算法服务,算法作用于特定的数据结构上,孟不离焦,焦不离孟。 二、数据结构与算法需要掌握哪些内容 绝大多数同学也不会去搞程序设计竞赛,我总结了一张思维导图,里面涵盖了所有常见的数据结构与算法,如果你能掌握这些,就绝对超过绝大多数人了。
顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。数组就是顺序存储结构的典型代表。其在内存中的存储形式类似于下图: 链式存储结构 链式存储结构:是把数据元素存放在内存中的任意存储单元里,也就是可以把数据存放在内存的各个位置。这些数据在内存中的地址可以是连续的,也...
“数据结构和算法是过去 50 年来最重要的发明之一,它们是软件工程师需要了解的基础工具。”《Think Data Structures: Algorithms and Information Retrieval inJava》(Allen B.Downey) 基本数据类型 道生一,一生二,二生三,三生万物。 在计算机程序设计的世界里,先有基本数据类型,复合组装成复杂对象类型,不同对象之间...
1. 数据结构发展史 1) 起源: 1968年美国唐•欧•克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构语其操作的著作。我们一般认为本书开创了数据结构的系统概念。