问题:为什么要学士数据结构这门课程?

学员的常见问题

  • 语言学习结束之后是否有能力进行项目开发?
  • 当面对一个问题的时候如何思考解决方案?
  • 如何评价代码效率的高低好坏?
  • 怎样才能提高自己的编程能力?
  • 。。。

数据结构的意义

  • 培养专业的程序设计思维
  • 训练使用程序语言描述解决方案的能力
  • 计算机专业的基础课
  • 算法分析专业课的先修课程
问题:数据结构等于算法?
- 数据结构是算法的基础先修课程

另一个值得思考的问题:现代的程序设计语言开发包中都有数据结构和常用算法的完整实现,是不是掌握如何使用就可以了?

知其然,知其所以然!

  • 排序的时候,如何选择排序算法?
  • 单链表就够用了,为什么还要双链表?
  • 最短路径的算法跟有名,为什么很少在项目中使用?
  • 递归就是函数自己调用自己,这样诡异的做法有什么用?
不下降序列问题:
设由n个数组成的数列,即为:a[1]、a[2],...、a[n],若存在i1<i2<...im 满足:
a[i1] <= a[i2]<= ... <= [aim],则称为长度为m的不下降序列。

例如:3,18,7,14,10,12,23,41,16,24
则:
> 3,18,23,24 是一个长度为4的不下降序列
> 3,7,10,12,16,24 是一个长度为6的不下降序列

问:
    如何求最长不下降序列?
    如何求左右不下降序列?
    如何求指定长度不下降序列?

专业程序源的培养路线

image.png

数据结构基础功底在职场中的作用

  • 对于职场新人

    • 大型软件企业招聘必考数据结构
  • 对于职场老人

    • 提出并实现解决问题的关键方案是价值的体现

课程目标

  • 创建可复用的数据结构软件库
  • 分析并优化C++课程中创建的实用类

使用的技术

  • C++面向对象技术
  • C++模板技术
  • C++异常处理技术

以上内容参考狄泰软件学院系列课程,请大家保护原创!


TianSong
734 声望138 粉丝

阿里山神木的种子在3000年前已经埋下,今天不过是看到当年注定的结果,为了未来的自己,今天就埋下一颗好种子吧