当前位置:首页 > 科学课件 > 正文内容

学习数据结构与算法,怎样才算掌握了?

zhao_admin1年前 (2022-05-25)科学课件45

我在大学经常练习数据结构的编写,最简单的事是,可以独立编写链表二叉树图等数据结构,注意,是用c语言独立编写数据结构函数,来组成数据结构的抽象数据类型,看起来简单其实不简单,因为数据结构必须需要指针,所以很容易就会指针引用错误,需要不断调试,不过很锻炼写代码的能力,你可以试试,或者看c语言接口与实现,这本书写的非常好

准备走工程向的本科生,除了基础的算法之外,还有必要掌握像线段树、AC自动机这样的高级数据结构与算法吗?

这要根据“本科生”们自身的志向和条件来决定:如果你只想做一个普通技术人员,那么就没必要去掌握太深奥的高级数据结构与算法等;如果你想有一番大的作为、成为民族和国家的栋梁之才,而且自我感觉又比较有悟性,那么掌握比较多、比较深入的高级数据结构与算法等是很有必要的,因为科技发展到今天,无论你想做哪方面的工程上的创造、创新、发明等都离不开高级计算机语言和算法,否则你将无法达到你想要实现的目标。

但是作为“本科生”,无论你是上述哪种想法,笔者都给你们如下一些建议,仅供参考:

1. 能够成为“本科生”,而且是通过正规考取的,那么就说明你的勤奋程度、思维能力和领悟能力(悟性)都比较高,不要浪费了这些有利条件,要充分准确地认识自我、发挥自我。

2. 要强化自己的独立能力,包括独立思考、独立作为、不受社会的诸多因素(如金钱、地位、美色、享乐、追星等)的影响,做一个“另类”的人,吵闹中我能静心学习,繁杂中我能理清思路,等等。

3. 要勤于观察、细致思考。我们人类现在的科学和技术还存在诸多缺陷,如理论方面的各种假设条件和边界条件,在从理论到技术更是道路条条,现在的科技是否是走到了那条最好、最合理、最接近的路呢?答案是未必,技术与理论脱节或不完全一致的地方还有很多。所以需要勤于对自然的观察(自然界是一个浩大的试验场),对自己感兴趣的各种事物仔细思考,多问几个为什么,从中找到你想要的答案。

4. 不要迷信和无底线地崇拜任何理论、任何技术、任何“巨匠”和任何“泰斗”。我们现在的科技是有缺陷的,就算是比较完整的经典力学、低速运动(大大低于光速)、能量守恒、质量守恒和物质不灭等范围内也还有诸多不足和缺陷,例如气态方程为什么要理想气体才适用?熵到底是如何产生的?等等。所以掌握这些理论和技术知识的人,没谁能做到一言九鼎、断然肯定。

5. 不要被现有理论和技术所束缚,要有在认知的基础上的否定精神,要有反向思维和多路思维(老外说的发散思维),但是必须在否定的基础上要有所建树,否则你就不要否定。

6. 不要好高骛远。许许多多的有重大价值的理论和技术往往就掩盖着那些不起眼、习以为常甚至是被我们否定、践踏、侮辱的现象和事物中。如果你哪天碰上了那就是你的机遇。

(1)数据结构与算法课件:

做项目除了基础算法需要用到大量的数据结构,可能现在你还没开始做大一些的项目,如果开始做,就需要用到大量的数据结构,数据结构可以使程序的时间复杂度或空间的复杂度大大降低。

数据结构中必要重要的几个概念和算法:

★ 算法效率的度量和存储空间需求

★ 线性表

★循环链表与双向链表

★ 栈的表示与实现

★ 队列

★ 串

★广义表

★树、二叉树及树的遍历

★图及图的遍历

★查找算法:顺序查找,二分法,哈希

★ 排序:插入排序,快速排序,选择排序,归并排序等等。

★ 顺序文件,索引文件

还有许多高级的数据结构,比如线段树,字典数,AC自动机,凸包等等,数据结构是基础,做大项目肯定会用到的

扫描二维码推送至手机访问。

版权声明:本文由PPT写作技巧发布,如需转载请注明出处。

本文链接:http://www.ppt3000.com/post/64063.html

分享给朋友:

相关文章