数据结构学的到底是什么,和算法的关系
所有的算法,乃至数学在实际运用中都是要根据不同的数据来选择不同的方法,所以一般学习过算法和数据结构的人都会越发的认识到,数据才是程序的中心,只有找到了一个组织数据的最佳方式,算法的运用才会事半功倍。
一般来说我觉得先学算法比较好,但算法和数据结构都是相辅相成的,要学好算法要有一定数据结构的基础,要学数据结构亦要有算法基础。但算法比数据结构更重要一些,因为没有算法只有数据结构是没用的。
数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。
从计算机的角度讲,程序是用一种计算机能理解并执行的计算机语言描述解决问题的方法步骤。程序设计:是分析解决问题的方法步骤,并将其记录下来的过程。算法:解决问题的方法步骤。
1.数据结构或者算法之类不是直接运行的东西。 数据结构,大约就是关于怎样使用变量能更有效率的理论。 算法么,比较象数学公式,不过代进去的不是数据或变量,而是C的语句。是关于怎样安排程序才能事半功倍的理论。
2019-05-17
1,数组
2,队列(先进先出)
3,栈(先进后出)
4,链表(包括单向的,双向的,环形的,还有跳表)
5,HashMap(数组加链表的结合)
6,树(常见的有二叉树,红黑色,字典树,B-树,树的形式非常多)
7,堆(属于二叉树的一种,并且是一棵完全二叉树)
7,图(有向图,无向图)
至于算法,这个就比较多了,需要根据具体的题型来具体实现,常见的有排序,查找等。如果感兴趣可以关注微信公众号“数据结构和算法”,查看一下,里面总有一款题型适合你。
2019-03-12
数据结构与算法的重要性,是众所周知的,作为开发人员都想攻克它,但大部分人坚持一下都放弃了。可能是因为知识点太多、不知从何开始学起,也可能是没找对学习方法,也可能是没找到好的学习资料。如果你还在迷茫中,相信本课程能够帮到你,是你彻底掌握数据结构与算法的美好开始。
为了保证同学们能循序渐进、全方位地掌握数据结构与算法,MJ将本课程将设计为至少3个季度(预计共100小时左右)
第1季侧重于经典数据结构(比如二叉树、哈希表、Trie等)
第2季侧重于更高级的数据结构(比如图、并查集、跳表、布隆过滤器等)以及各种算法
(比如排序、KMP、贪心、分治、动态规划等)
第3季侧重于leetcode题库和算法面试真题(比如海量数据处理、字符串处理等)
在掌握数据结构的前提下,再学习常用的经典算法,最后再进行大量的算法题目练习,将会是个非常利于消化吸收、比较合理的学习路线。整套课程学习下来,相信以后不管是算法面试,还是工作应用,都能够熟练使用数据结构与算法。