【数据结构与算法】浅谈数据结构与算法
2015-08-01 15:27
453 查看
一直学习着 却没有好好的想过数据结构与算法的重要性,直接前阵子刚刚遇到。准备开始自己的数据结构与算法的学习路程,并且分享下自己的所闻所问。希望给带有相同疑问的朋友给点思路。
本人觉得如果想做一个专业的开发人员 个人觉得有三个条件看缺一不可:
1.数据结构与算法
2.熟练掌握开发的语言
3.熟知开发的方向
三个条件当中最重要的一个也是最难的一个就是第一点 数据结构与算法的运用度,数据结构与算法是区分一个程序员的开发水准的标志。
在我的编程学习之路上也曾有人对我讲过,像编程语言不要看得太重,顶多只能算是一个工具,而真正重要的其实在于我们自己如何运用,如何架构,本质是我们的编程思想,间接来来自于数据结构以及算法。
现在就以个人观点浅谈下数据结构与算法:
计算机解决问题的步骤可以分为4点 实际问题->数学模型->算法->程序
数据结构所指的就是将实际问题转成实际问题 算法就是将模型转成算法来解决 这样的话看起来是不是清晰明了了。我们自然而然也能体会到了其中的重要性,如果只会第四步单单会写个程序的程序不是好程序 ,作为专业的程序开发人员 需要有思想架构 也就是数据结构,更要有把思想架构通过算法表达出来的能力
数据结构好的自然也就能将实际问题熟练的转成模型以备下一步的解决方案。由此可见数据结构与算法的重要性。
如果说到这里你还默默的认为我只要写好程序就好 老板交待的我完成好就ok那也只能说在IT行业上你走不远了,也许我可以给你另一种称号 伪程序员。像有些进行二次开发的软件游戏 估计也可以这么说了。或许你也可以反驳我说我说得太过于绝对 你这样ok 可以混口饭吃 但我想你也决不可能以体验到编程的乐趣。
对于一个真正的程序员,一门语言的语法格式并不是起决定作用的关键点。真正决定我们技术高度的是编程思想、数据结构与算法。
简单的来说数据结构是待处理问题的数学模型,算法则是处理问题的策略。
计算机主要用途分为两大方向
一是数值运算:殊如函数 概率这些运算
二是非数值运算:殊如字符表格 图像声音
在数据结构与算法中我们接触的主要是非数值运算方面的结构与算法。数据结构主要有线性表、树、二叉树、图、哈希表;
算法主要涉及排序算法和查找算法。
数据结构与算法内容图:
ok。接下来我也会陆续分享我在数据结构与算法学习上遇到的问题。如果本篇文章有讲得不好的地方请见谅,文章只是本着个人的观点分享。
本人觉得如果想做一个专业的开发人员 个人觉得有三个条件看缺一不可:
1.数据结构与算法
2.熟练掌握开发的语言
3.熟知开发的方向
三个条件当中最重要的一个也是最难的一个就是第一点 数据结构与算法的运用度,数据结构与算法是区分一个程序员的开发水准的标志。
在我的编程学习之路上也曾有人对我讲过,像编程语言不要看得太重,顶多只能算是一个工具,而真正重要的其实在于我们自己如何运用,如何架构,本质是我们的编程思想,间接来来自于数据结构以及算法。
现在就以个人观点浅谈下数据结构与算法:
计算机解决问题的步骤可以分为4点 实际问题->数学模型->算法->程序
数据结构所指的就是将实际问题转成实际问题 算法就是将模型转成算法来解决 这样的话看起来是不是清晰明了了。我们自然而然也能体会到了其中的重要性,如果只会第四步单单会写个程序的程序不是好程序 ,作为专业的程序开发人员 需要有思想架构 也就是数据结构,更要有把思想架构通过算法表达出来的能力
数据结构好的自然也就能将实际问题熟练的转成模型以备下一步的解决方案。由此可见数据结构与算法的重要性。
如果说到这里你还默默的认为我只要写好程序就好 老板交待的我完成好就ok那也只能说在IT行业上你走不远了,也许我可以给你另一种称号 伪程序员。像有些进行二次开发的软件游戏 估计也可以这么说了。或许你也可以反驳我说我说得太过于绝对 你这样ok 可以混口饭吃 但我想你也决不可能以体验到编程的乐趣。
对于一个真正的程序员,一门语言的语法格式并不是起决定作用的关键点。真正决定我们技术高度的是编程思想、数据结构与算法。
简单的来说数据结构是待处理问题的数学模型,算法则是处理问题的策略。
计算机主要用途分为两大方向
一是数值运算:殊如函数 概率这些运算
二是非数值运算:殊如字符表格 图像声音
在数据结构与算法中我们接触的主要是非数值运算方面的结构与算法。数据结构主要有线性表、树、二叉树、图、哈希表;
算法主要涉及排序算法和查找算法。
数据结构与算法内容图:
ok。接下来我也会陆续分享我在数据结构与算法学习上遇到的问题。如果本篇文章有讲得不好的地方请见谅,文章只是本着个人的观点分享。
相关文章推荐
- 排序算法之选择排序
- 数据结构 线性表的顺序存储
- 网易云课堂-数据结构-练习题实现-00,打印沙漏
- leetcode--Lowest Common Ancestor of a Binary Search Tree
- List数据结构的实现
- leetcode--Recover Binary Search Tree
- 无锁数据结构(Lock-Free Data Structures)
- inux内核数据结构之kfifo
- kernel中常用数据结构之kfifo(改造为ring buffer)
- kernel中常用数据结构之链表
- 数据结构导论——泛读
- python数据结构与算法——图的基本实现及迭代器
- javascript数据结构
- python数据结构与算法——二叉树结构与遍历方法
- python数据结构与算法——字典树
- JavaScript数据结构
- 数据结构:链表 >> 链表按结点中第j个数据属性排序(冒泡排序法)
- python数据结构与算法——完全树 与 最小/大堆
- python数据结构与算法——图的最短路径(Bellman-Ford算法)解决负权边
- python数据结构与算法——图的最短路径(Dijkstra算法)