算法复习笔记-绪论

  这两天开始准备考研了,才回到 算法与数据结构,班里就我一个人选这门了,其他都选 自然地理.要做代码,如果不选 算法与数据结构,就没有意义了.一段时间以来,都把 算法和数据结构看得很重要了.所以这次要全力,定心,好好理解.

一,从问题到程序

  1,需求模型

  2,数学模型

  3,实现模型

  程序中描述的过程(算法)

  求解程序的阶段:

    1)分析阶段(需求/数学模型).

    2)设计阶段(实现模型).

    3)编码阶段

    4)调试和维护

  不同抽象数据类型的主要特征由它们具有的行为决定.

二,抽象数据类型

  1,类型:一组值(对象)的集合.

  2,数据类型:计算机中使用的一类型,既包括该类型值的集合,也包括定义在该类型上的一组操作.如,整数作为一个数据类型,指的是在计算机中表示的所有整数及其语言中定义的对于这些整数的全部操作.

三,数据结构

  1,数据结构,是计算机中表示的具有一定逻辑关系的一组数据.亦可理解为,‘抽象数据类型的物理实现‘,所谓‘物理实现‘,主要意图是强调本课程关心的,‘实现‘应具体到可以用计算机的两个重要的物理量(即主机的运行时间和内存的存储空间).

  2,逻辑结构:基本元素和元素之间的关系.

  3,存储结构:结点的表示和关系的表示.

  集合中的元素是各不相同且无序的(逻辑结构).用顺序表,单链表,散列表等多种不同的集合表示法(存储结构).

  一种逻辑结构往往存在多种存储结构.

四,数据结构的分类

  1)按逻辑分类:

    B=<K,R>,k:有穷集合.R:K上的一个关系.‘关系‘为二元组的集合.K上的二元组是K中元素的有序对.若 k,k‘R,则k为k‘的前驱,k‘为k的后继.

    开始结点:没有前驱的结点

    终端结点:没有后继的结点

    A,线性结构:K中每个结点最多只有一个前驱和一个后继的结构.

    B,树形结构:一般而言,开始结点和最终结点可不唯一.

    集合,可看成R为空的情况,即结点之间没有任何关系.

    各种路基结构的包含关系:集合结构  线性结构  树形结构  复杂结构.

  2)按存储结构分类:

    解决逻辑结构在计算机中的存储或表示,包括结点的表示和关系的表示

    A,顺序表示

    B,链接表示

    C,散列表示,‘关键码-地址‘转换法,根据关键码的值,将结点映射到给定的存储空间(通过函数).

    D,索引表示,通过建立辅助索引结构解决.索引由索引项组成.索引项包含一个结点的关键码和该节点的存储位置.

    结点:数据结构中的基本单位.

时间: 2024-10-29 19:07:05

算法复习笔记-绪论的相关文章

算法复习笔记:二分查找

在计算机科学中,折半搜索(英语:half-interval search),也称二分查找算法(binary search).二分搜索法.二分搜索.二分探索,是一种在有序数组中查找某一特定元素的搜索算法.搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束:如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较.如果在某一步骤数组为空,则代表找不到.这种搜索算法每一次比较都使搜索范围缩小一半. 实现: int bin

算法复习笔记(回溯法,分支限界法)

回溯法 分支限界法 回溯法 回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标.但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法. 基本思想: 在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树.当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则逐层向其祖先结点回溯.(其实回溯法就是对隐式图的深度优先搜索

算法复习笔记(分治法、动态规划、贪心算法)

分治法 动态规划 贪心算法 分治法 分治法的基本思想是将一个规模为n的问题分解为k个规模较小的问题,这些子问题互相独立且与原问题相同(所以可以递归).递归地解这些子问题,然后将各个子问题的解合并得到原问题的解.它的一般算法设计模式如下: divide-and-conquer(P) { //|P|表示问题的规模,n0表示阈值,当规模不超过n0时,问题容易解出,不必分解 if(|P|<=n0) adhoc(P); //将P分解成子问题 divide P into smaller subinstanc

数据结构与算法笔记 - 绪论

数据结构与算法笔记 - 绪论 1. 什么是计算2. 评判DSA优劣的参照(直尺)3. 度量DSA性能的尺度(刻度)4. DSA的性能度量的方法5. DSA性能的设计及其优化 x1. 理论模型与实际性能的差异x2. DSA优化的极限(下界) 计算机与算法 计算机科学(computer science)的核心在于研究计算方法与过程的规律,而不仅仅是作为计算工具的计算机本身,因此E. Dijkstra及其追随者更倾向于将这门科学称作计算科学(computing science). 计算 = 信息处理

计算机图形学 复习笔记

计算机图形学 复习笔记 (个人整理,仅做复习用 :D,转载注明出处:http://blog.csdn.net/hcbbt/article/details/42779341) 第一章 计算机图形学综述 研究内容 图形的概念:计算机图形学的研究对象 能在人的视觉系统中产生视觉印象的客观对象 包括自然景物.拍摄到的图片.用数学方法描述的图形等等 图形的要素 几何要素:刻画对象的轮廓.形状等 非几何要素:刻画对象的颜色.材质等 图形表示法 点阵表示 枚举出图形中所有的点,简称为图像. 参数表示 由图形的

Java基础复习笔记系列 四

Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时,不能指定其长度.不同于C 数组的小标可以是整型常量或整型表达式. .length方法是显示数组的长度:数组.length;String.length();一个是属性,一个是方法.注意区分. 2.数组的内存分析? Array a[]; a = new Integer(15); /*这个a在栈中,在堆

数据结构学习笔记——绪论

数据结构学习笔记——绪论 为了更贴切的描述一种数据结构,通常采用二元组表示:(对于一种数据结构其逻辑结构唯一) B=(D,R)其中,B是一种数据结构,它由数据元素的集合D和D上二元关系的集合R所组成.即D={ di | 1 <= i<= n, n > 0}R={ rj | 1 <= j<= n, n > 0}D 上的一个关系r是序偶的集合,对于r中任一序偶<x,y>(x,y属于集合D),把x叫做偶序第一节点,把y叫做偶序第二结点,又称序偶的第 一结点为第二结

数字语音信号处理学习笔记——绪论(2)

1.2.2 语音编码 语音编码的目的是在保证一定语音质量的前提下,尽可能降低编码比特率,以节省频率资源. 语音编码技术的鼻祖: 研究开始于1939年军事保密通信的需要,贝尔电话实验室的Homer Dudley提出并实现了在低频带宽电话电报电缆上传输语音信号的通道声码器. 20世纪70年代:国际电联(ITU-T,原CCITT)64kbit/s脉冲编码调制(PCM)语音编码算法的G.711建议,它被广泛应用于数字通信.数字交换机等领域,从而占据统治地位. 1980年:美国政府公布了一种2.4kbit

2014年软考程序员-常考知识点复习笔记【第一章】

51CTO学院,在软考备考季特别整理了"2014年软考程序员-常考知识点复习笔记[汇总篇]",帮助各位学院顺利过关!更多软件水平考试辅导及试题,请关注51CTO学院-软考分类吧! 查看汇总:2014年软考程序员-常考知识点复习笔记[汇总篇]  常考基础知识必会 A. 排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法; B. 查找:哈希查找.二叉树查找.折半查找的对比,哈希映射和哈希表的区别? C. 链表和数组的区别,在什么情况下用链表什么情况下用数组? D. 栈和队列的区