这学期学这门课到现在为止,还是感觉难度很大,当然老师可能讲得也有点偏离书本,有时候听得有点蒙。
干脆来根据教材写个总结,用的教材是 《数据结构与算法分析》C++ 第3版 电子工业出版社
第1章 数据结构和算法
I.高效率 所要求的资源限制内将问题解决好
学会几步:
1.分析问题确定必须支持的操作,如插入一个数据项?删除?指定查找?要根据问题有想法
2.衡量-每种操作的资源限制
3.选择最接近这些代价的数据结构:栈?队列?二叉树?链表?
注意代价与效率!
II.线性表数据类有两种传统的实现方式:链表(Linked List)数组(array-based list)
III.抽象数据类型(ADT)abstract data type:指的是数据结构作为一个软件构件的实现,它的接口利用一个类型和类型上的一组操作
我理解ADT就是一个基本的模板,里面有函数的命名(大多用虚函数,所以并未实现),需要有哪些操作?感觉提供了一个实现的方向
数据结构是ADT的实现
数据项:逻辑形式:ADT 物理形式:数据结构中对数据项的实现
IV.设计模式:
1.享元模式:大概就是多个对象他们的包含信息,担任角色一样,但从不同地方访问,从概念上也不一样,就会有太多冗余信息,所以希望通过享元模式来共享空间减少内存消耗,即对一个对象建立单一对象,每一个需要该对象的地方,都引用这个单一对象,对这个对象的多个引用实例称为享元。
2.访问者模式:比如编写一个通用的遍历函数,将操作传入就很方便的在每个结点上执行。而不需要每个功能操作都独立地编写遍历再进行操作,在5.2树的遍历 11.3图的遍历 会用到
3.组合模式:页面编辑中,页面上的各种对象,只有有限的若干种动作要执行。增加一种可以应用到全部对象上的新动作,则并不需要修改已有动作的任何代码,麻烦的是每添加一种一个新的对象类型,就需要将已有的每一种动作的代码都修改一遍。这是一种模式
还有一种模式,各种对象自身已经包含了各种可能的需要动作,处理,每种子类都有执行各种动作的代码,之后如果要对一组对象执行一个操作,只需要调用这组对象的第一个对象并且指定动作。但如果要添加一种新的动作,就需要修改每种对象的代码,不过添加一种新的对象就变得容易得多,这就是组合模式。
4.策略模式:将封装一系列可替换的方法,这些可变的方法会在一个更大的行为中执行。

V.问题:一个需要完成的任务
VI.算法:解决问题的一种方法或者一个过程。包含性质:
1.正确性
2.具体步骤,意味着描述行为对于完成算法的人或机器是可读的,可执行的
3.确定性,算法描述的下一步应执行的步骤必须明确。
4.有限性,一个算法必须由有限步组成
5.可终止性,不可进入死循环
VII.程序:使用某种程序设计语言对一个算法的具体实现

算法分析是对一个算法需要多少计算时间和存储空间作定量的分析。 算法(Algorithm)是解题的步骤,可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中,算法要用计算机算法语言描述,算法代表用计算机解一类问题的精确、有效的方法。

第1章 就是开了一个头,算是对这门课的一个引导,一些概念也可以了解下

数据结构与算法分析 收获总结 第1章 数据结构和算法相关推荐

  1. 数据结构与算法分析 收获总结 第11章 图

    1.图(Graph)结构是一种非线性的数据结构,可以用G=(V,E)表示,每个图中都包含一个顶点集合V和一个边集合E,其中E中的每条边都是V中的某一对顶点之间的连接,顶点总数记为|V|,边的总数记为| ...

  2. 数据结构与算法分析c++第四版_数据结构与算法 - 时空复杂度分析

    这周主要总结了时间复杂度的学习,跟小伙伴们分享下,欢迎指正. 一.为何需要分析算法复杂度 挺多同学本科都学习过数据结构和算法这门课,但是有没有想过这门课到底是解决什么问题?科学家设计这些数据结构和算法 ...

  3. 数据结构与算法分析:C语言描述(原书第2版 简体中文版!!!) PDF+源代码+习题答案...

    转自:http://www.linuxidc.com/Linux/2014-04/99735.htm 数据结构与算法分析:C语言描述(原书第2版中文版!!!) PDF+源代码+习题答案 数据结构与算法 ...

  4. 数据结构与算法分析-第2章

    <?xml version="1.0" encoding="utf-8"?> 数据结构与算法分析-第2章 数据结构与算法分析-第2章 Table o ...

  5. 《Python数据结构与算法分析》第一章课后习题

    这里写自定义目录标题 Introduction 练习题 Python易错总结: Introduction 最近开始学数据结构,打算用python作为语言,看的书是米勒和戴维的<Python数据结 ...

  6. 数据结构与算法分析(C++版)(第二版)

    查看书籍详细信息: 数据结构与算法分析(C++版)(第二版) 内容简介 本书采用程序员最爱用的面向对象C++语言来描述数据结构和算法,并把数据结构原理和算法分析技术有机地结合在一起,系统介绍了各种类型 ...

  7. java数据结构与算法_清华大学出版社-图书详情-《数据结构与算法分析(Java版)》...

    前 言 数据结构是计算机程序设计重要的理论技术基础,它不仅是计算机学科的核心课程,而且已经成为计算机相关专业必要的选修课.其要求是学会分析.研究计算机加工的数据结构的特性,初步掌握算法的时间和空间分析 ...

  8. 数据结构(c语言版) 计算机科学丛书,数据结构与算法分析--C语言描述(原书第2版)(计算机科学丛书)...

    摘要: 本书讨论数据结构和算法分析.数据结构主要研究组织大量数据的方法,而算法分析则是对算法运行时间的评估.随着计算机的速度越来越快,对于能够处理大量输入数据的程序的需求变得日益急切.可是,由于在输入 ...

  9. 大话数据结构读书笔记艾提拉总结 查找算法 和排序算法比较好 第1章数据结构绪论 1 第2章算法 17 第3章线性表 41 第4章栈与队列 87 第5章串 123 第6章树 149 第7章图 21

    大话数据结构读书笔记艾提拉总结 查找算法 和排序算法比较好 第1章数据结构绪论 1 第2章算法 17 第3章线性表 41 第4章栈与队列 87 第5章串 123 第6章树 149 第7章图 211 第 ...

最新文章

  1. linux基础知识_压缩—进程管理-网络管理-ftp-nfs-ssh-scp
  2. Science:人类在实验室创建了微型“大脑”,含祖先基因的那种
  3. 渗透测试 回显机制平台 dnslog 搭建
  4. 七十三、Python | Leetcode数字系列(上篇)
  5. UE4 获得player id
  6. windows无法检索有关这台计算机上的磁盘信息_磁盘镜像软件OO DiskImage Pro 15.5介绍及安装教程...
  7. psychopy 音频时长代码_多媒体之音频输入1
  8. Nginx https configuration backed Certbot
  9. Java学习笔记--Swing2D图形
  10. java中class.forName和classLoader加载类的区分
  11. 添加无线网连接服务器,单片机加WIFI模块,一直无法连接到TCP服务器麻烦大家看看...
  12. Android混淆文件配置
  13. STM32 DCMI调试
  14. E-mark认证是什么?
  15. bugku misc QAQ
  16. CentOS安装配置freeIPA
  17. 内农大计算机学院宿舍,新疆农业大学科学技术学院宿舍条件怎么样
  18. nagios监控安装配置
  19. wifidog 整体分析
  20. PDF文件压缩有什么方法?如何操作?

热门文章

  1. Angular4_select设置默认选中
  2. Linux学习笔记41——什么是 daemon 与服务 (service)
  3. 205 Isomorphic Strings
  4. ASEMI-SL1550超低压降肖特基二极管型号
  5. 隐式龙格库塔法举例说明
  6. CVPR 2022 | 大连理工提出自校准照明框架,用于现实场景的微光图像增强
  7. mysql生成bak文件_数据库备份生成bak文件格式
  8. Spring初级入门(一)--易百教程
  9. L2-001 紧急救援 (25 分)
  10. Robotstudio基础教程之系统创建