数据结构课程的重要性再怎么强调也不为过,对于将来从事编程工作的程序员来说,这是必修的内功心法,程序员的内功高低就体现在这个上面。当然对于非计算机从业人员,掌握这门课程对于锻炼我们的数学思维、逻辑思维和理性思维来说也是有百益而无一害的。现在课程视频已经全部上传到51CTO学院了,为了让大家更好的学习这套教学视频,我把课程的学习思路整理到下面,希望对大家有所帮助。
一、课程层次
从低到高分三个层面:实现(数据结构)、使用(数据结构)和(算法)分析。课程的重点放在实现和使用上,分析做为后续课程的重点,目前只要求了解。
二、知识体系
课程知识分两大部分:数据结构和基本算法。数据结构分两个层面:物理存储和逻辑关系。物理存储又分两大类:顺序和链式。逻辑关系分三大类:线性、树和图。其中线性关系包括:线性表、链表(单向、循环和双向)、栈、队列、广义表。基本算法包括三大类:递归、排序和查找。
三、学习思路
1. 数据结构主体内容的学习思路如下,分四个步骤:
(1)提出问题A->(2)解决问题->(3)数据结构->(4)解决问题
(1)提出问题
首先找出一个具有一定实际意义的问题A用编程解决。该问题应该具有一定的特质,比如:有趣、有一定的实用性、比较简单(代码量不大)、隐藏着一种或多种数据结构。
(2)解决问题
通过编程来解决问题A,但此前先不引入任何数据结构知识。
(3)数据结构
通过(2)解决问题,观察和认识数据结构的存在(重点),并对数据结构进行一定程度的提炼和抽象(引出ADT主体)(重点),然后实现这个ADT(重点)。
(4)解决问题
用实现了的ADT函数库来再一次解决问题A,来体验ADT的价值和意义(重点)。
2. 基本算法部分的学习思路:实例演示、程序演示、辅助教学软件演示相结合,对算法的理解力求做到简洁、直观和形象。本文出自 “从程序员到CTO” 博客,请务必保留此出处http://wangding.blog.51cto.com/8606427/1423719
原文地址:http://wangding.blog.51cto.com/8606427/1423719