数据结构的学习思路

数据结构课程的重要性再怎么强调也不为过,对于将来从事编程工作的程序员来说,这是必修的内功心法,程序员的内功高低就体现在这个上面。当然对于非计算机从业人员,掌握这门课程对于锻炼我们的数学思维、逻辑思维和理性思维来说也是有百益而无一害的。现在课程视频已经全部上传到51CTO学院了,为了让大家更好的学习这套教学视频,我把课程的学习思路整理到下面,希望对大家有所帮助。

一、课程层次

  从低到高分三个层面:实现(数据结构)、使用(数据结构)和(算法)分析。课程的重点放在实现和使用上,分析做为后续课程的重点,目前只要求了解。

二、知识体系

  课程知识分两大部分:数据结构和基本算法。数据结构分两个层面:物理存储和逻辑关系。物理存储又分两大类:顺序和链式。逻辑关系分三大类:线性、树和图。其中线性关系包括:线性表、链表(单向、循环和双向)、栈、队列、广义表。基本算法包括三大类:递归、排序和查找。

三、学习思路

1. 数据结构主体内容的学习思路如下,分四个步骤:

(1)提出问题A->(2)解决问题->(3)数据结构->(4)解决问题

  (1)提出问题

  首先找出一个具有一定实际意义的问题A用编程解决。该问题应该具有一定的特质,比如:有趣、有一定的实用性、比较简单(代码量不大)、隐藏着一种或多种数据结构。

  (2)解决问题

  通过编程来解决问题A,但此前先不引入任何数据结构知识。

  (3)数据结构

  通过(2)解决问题,观察和认识数据结构的存在(重点),并对数据结构进行一定程度的提炼和抽象(引出ADT主体)(重点),然后实现这个ADT(重点)。

  (4)解决问题

  用实现了的ADT函数库来再一次解决问题A,来体验ADT的价值和意义(重点)。

2. 基本算法部分的学习思路:实例演示、程序演示、辅助教学软件演示相结合,对算法的理解力求做到简洁、直观和形象。
(完)

数据结构的学习思路,布布扣,bubuko.com

时间: 2024-10-13 03:00:33

数据结构的学习思路的相关文章

《大话数据结构》学习笔记 排序

排序的严格定义:  假设含有n个记录的序列为{r1,r2,......,rn},对应的关键字分别为{k1,k2......,kn},需确定1,2,......,n的一种排列p1,p2,......,pn,使其相应的关键字 满足Kp1<=Kp2<=......Kpn关系,即使得序列成为一个按关键字有序的序列(rpq,rp2,......rpn),此操作称为排序.  排序的稳定性:内排序与外排序(根据记录是否全部放置在内存中). 根据排序中的主要操作,可以分为插入排序类(直接插入排序->希尔

手机 app 开发的几种方式 ionic 学习思路以及 ionic 新建的项目分析

手机 app 开发的几种方式 ionic 学习思路以及ionic 新建的项目分析 学习要点:1. 目前开发手机 app 的几种方式2. Ionic 学习思路简介3. Ionic CSS 框架4. ionic js 指令 路由 其他 ui 交互效果5. ionic 命令行/CLI 安装 调试 打包( 第三季 第一讲已讲)6. ionic 开发包下载 以及命令创建的项目分析 1. 目前开发手机 app 的几种方式原生/Native: 使用原生 SDK 开发 App.优点不用说, 当你有足够的资源,这

建立三年学习思路 教你系统有效的自学摄影

最近好多新人加我微信问想学摄影,无从入手,怎么办? 我想我还是系统的来谈谈这个问题比较好,当然,话题仅限于刚入门的朋友参考,老鸟自动忽略即可.本文首先是谈思路,然后谈方法,不做具体的技术教授,技术贴请自己网络上搜索,早就铺天盖地.但能给初学者摄影学习梳理思路与方法的帖子却很少,催吹器材与炫耀技术帖却很多,往往给很多想学摄影却因为看着这些误导的帖子认为门槛很高而退却.于是我更多想给很多初学者一点建议,仅供根据自己的情况参考着学习上手. 第一步:你需要一个相机,还是要学摄影? 好多新手一开口习惯问:

VBA学习笔记之VBA学习思路

进阶的知识点 1. SQL查询语句和ADO2. 正则表达式和网抓3. 窗体与控件4. API 类模块 等等 作者:SOROSay链接:https://www.zhihu.com/question/26078625/answer/132542043来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 1小时 熟悉数据类型.变量.常量和运算符 1.了解VBA有哪些数据类型 2.知道如何定义变量,了解public/dim/private定义变量时的区别 3.知道如何定义常量

《数据结构》学习-- Hash(2) --Separate Chaining

回顾 Separate Chaining简介 Rehash Separate Chaining实现 1 Hash表主体 2 初始化操作 3 Hash Function 4 Find 5 Insert 6 Remove 7 rehash 8 nextPrime HashTable测试 1正确性测试 2 性能测试 总结 本系列是<数据结构与算法分析-C语言描述>(Data Structures and Algorithm Analysis in C,作者Mark Weiss)一书的学习笔记,当我在

HyperLedger Fabric 学习思路分享

HyperLedger Fabric 学习思路分享 HyperLedger Fabric最初是由Digital Asset和IBM公司贡献的.由Linux基金会主办的一个超级账本项目,它是一个目前非常流行并广为人知的区块链网络框架的实现方案.作为一种基于模块化架构开发应用程序或解决方案的基础,HyperLedger Fabric支持如共识和会员服务等即插即用的组件,它的设计初衷是支持不同组件的可插拔实现,并适应整个经济生态系统的复杂性和高精度性.HyperLedger Fabric利用容器技术运

数据结构——全面学习哈希

相信学计算机的童鞋对于"哈希"这个词会很熟悉,但是能明明白白的说清楚,并且用程序来描述的人还是比较少的.这里,我们就全面学习这个重要的数据结构,以及它的思想和应用. 首先,我们来学习一下几个基本概念.     哈希(hash)     是一种数据编码方式.将大尺寸的数据(如一句话,一张图片,一段音乐.一个视频等)浓缩到一个数字中,从而方便地实现数据匹配和查找的功能.     哈希表(hash table)     一种数据表结构.hash表,有时候也被称为散列表.个人认为,hash表是

学习思路之ONETHINK

前段时间,ThinkPHP 的整体设计思路,包括 各个模块的实现. TP官方为了测试该框架,写了一个ONEThink,是可以学习下的 不太推荐使用这个,感觉就是测试性质.但是你可以体会下他的设计思路,继续深化思考,就可以重新写一个适合自己的. 比如:测试各种环境,用数组组合一下数据信息 $items = array(         'os'      => array('操作系统', '不限制', '类Unix', PHP_OS, 'success'),         'php'     =

JavaWeb基础学习体系与学习思路

对于JAVAWEB的学习,首先一定要明确的是学习整体框架和思路,要有一个把控.对于WEB,很多人认为是做网页,简单的把静态网页与JAVAWEB与网页设计一概而论. 拿起一本JS就开始无脑的学习,学了一会儿就不知所云.那么,我们应该怎么来学习呢? 我认为,对于JAVAWEB的学习,主要分为三部分,前端,服务器,数据库. 首先,前端的内容为HTML+CSS+JAVASCRIPT,这三部分为前端的主要内容. 将前端比作一个人的话,HTML做骨架,CSS做外表,JAVASCRIPT控制人的行为. 而前期