数据结构与算法《褚论》

简介: 数据结构与算法《褚论》

程序=数据结构+算法

算法其实是用于解决某一类问题的公式与思想。(给出问题的数学模型)而数据结构就是

数据的组织、管理和存储格式,其使用目的是为了高效的访问和修改数据。至于程序就是计算机处理问题的一系列指令。

数据结构的研究内容

1.2数据、数据元素、数据项和数据对象

1.2.1数据是客观事物的符号表

数据元素是数据的基本单位

数据项是组成数据元素的、有独立含义的、不可分割的最小单位

数据对象是性质相同的数据元素的集合,是数据的一个子集

1.2.2数据结构

相互之间存在一种或多种特定关系的数据元素的集合,也是说数据结构是带“结构”的数据元素的集合

包含两种数据结构:逻辑结构和存储结构

数据结构与算法的研究内容

1.逻辑结构:研究对象的特性及其相互之间的关系

2.存储结构:有效地组织计算机存储

3.算法:有效地实现对象之间的”运算“关系

算法时间复杂度定义

1.算法中基本语句重复执行的次数是问题规模的某个函数f(n),算法的时间量度记作:T(n)=O(f(n))

n越大算法的执行时间越长

排序:n为记录数

矩阵:n为矩阵的阶数

多项式:n为多项式的项数

集合:n为元素个数

树:n为树的结点个数

图:n为图的顶点数或边数

将一堆数组a中的n个数逆序放到原数组中

for(i=o;i<n;i++)

b[i]=a[n-i-1];

for(i=0;i<n;i++)

a[i]=b[i];

设计数据类型=数据的逻辑结构+抽象运算(运算的功能描述)


相关文章
|
6月前
|
存储 算法 调度
数据结构与算法-栈篇
数据结构与算法-栈篇
31 3
|
7月前
|
存储 算法
数据结构与算法
数据结构与算法
35 2
|
算法
数据结构与算法怎么学?
数据结构与算法怎么学?
|
存储 算法 Java
数据结构与算法:8种算法经典问题
前言 本文主要讲解8种算法经典问题。
179 0
|
存储 算法 网络协议
数据结构与算法介绍
数据结构与算法几乎存在于程序开发中的所有地方!!! 例如:插入排序,快速排序,堆排序,冒泡排序等...
|
算法 Python
数据结构与算法练习(1)
13195的所有质因数为5、7、13和29。 600851475143最大的质因数是多少?
|
存储 算法
数据结构与算法总纲
数据结构与算法总纲
204 0
数据结构与算法总纲
|
存储 算法
数据结构与算法是什么?
在计算机科学中,数据结构(Data Structure)是计算机中存储、组织数据的方式。为什么数据结构和算法经常放在一起讨论?算法用来设计一种使用计算机来解决问题的方法。设计高效的算法又是怎么来实现的?在我们学习了计算机编程后,也要学习数据结构与算法这些基础内容。
202 0
数据结构与算法是什么?
|
算法
数据结构与算法——线性排序
前面已经说完了几种非线性排序,它们分别是时间复杂度为 O(n2) 、适合小规模数据的冒泡排序、选择排序、插入排序,和应用较广泛的时间复杂度为 O(nlogn) 的希尔排序、归并排序、快速排序。其实这几种排序都有一个特性,那就是它们都是基于数据的比较和移动,而今天介绍的这几种线性排序,他们的时间复杂度都是 O(n) ,因为不涉及到数据的比较和移动。
140 0
数据结构与算法——线性排序