学编程先学c语言还是数据结构(大一新生先学C语言编程还是先学C语言的数据结构和算法)
学编程先学c语言还是数据结构(大一新生先学C语言编程还是先学C语言的数据结构和算法)两者重要性C语言和数据结构与算法的关系C语言编程只是一种编程语言,同样的还有java、golang、python、php....等都是编程语言,它只是你实现功能的一种工具。数据结构与算法不单单是C语言会有的,很多开发语言都会用到数据结构与算法,数据结构与算法不会和任何一种语言绑定死,它更像是一种抽象的方法、设计、思路。用来帮助你更好、更快、更轻松的使用“工具”。
这是一位粉丝朋友给我的私信,今天就他这个问题好好聊聊。
先学C语言在学数据结构和算法先说答案建议先学C语言,掌握基本的语法基础后,再学数据结构与算法,C语言编程与数据结构和算法这两个完全是两个东西了。
学习数据结构和算法有一个很重要的前提,就是至少熟练掌握一门编程语言,编程语言掌握肯定越多越好,但是至少要掌握以下几点,因为数据结构实现 链表、图、等都会用到指针、结构体、指针函数等,堆栈、队列等需要掌握内存知识。
C语言和数据结构与算法的关系
C语言编程只是一种编程语言,同样的还有java、golang、python、php....等都是编程语言,它只是你实现功能的一种工具。
数据结构与算法不单单是C语言会有的,很多开发语言都会用到数据结构与算法,数据结构与算法不会和任何一种语言绑定死,它更像是一种抽象的方法、设计、思路。用来帮助你更好、更快、更轻松的使用“工具”。
两者重要性
编程语言
先说说C语言,首先编程语言至少要会一门,因为毕竟他是工具,是你用来实现功能的基础,所以基础知识就非常重要了,一定要好好理解、掌握基础知识,后面所学的扩展知识基本上都是在基础之上的一层封装实现。
就好比学完java基础后,我们还会学习spring框架,但是你只要查看spring框架的源码,你会发现它底层就是用java基础来封装的,如果你基础都不扎实,那还怎么看得懂框架源码呢?
数据结构与算法
数据结构与算法我认为是开发人员的核心竞争力了,这个更是重中之重了,优秀的研发人员实现功能往往不是简单的功能能运行就行了,而是怎么做到能更快、成本更低、更稳定的实现一个功能,这时数据结构与算法就体现了它的强大之处!通过学习并理解数据结构与算法,你会发现一个功能的实现可以采用多种实现方案,通过分析时间成本、空间成本选择一个贴切业务的方案。
学习路线图
学习书籍C语言- 《C程序设计语言》
- 《 C Primer Plus》
- 《C与指针》
- 《征服C指针》
- 《C专家编程》
- 《C陷阱与缺陷》
- 《 C Primer 中文版 第五版 》
- Effective 三部曲:《Effective C 》、《More Effective C 》、《Effective STL》
- 《STL源码剖析》
- 《 深入探索C 对象模型 》
- 《提高 C 性能的编程技术》
- 《C 语言设计与演化》
- 《C 沉思录》
- 《C 标准程序库》
- 《C 模板元编程》
- 《大话数据结构》
- 《啊哈!算法》
- 《漫画算法:小灰的算法之旅》
- 《剑指Offer》
- 《程序员代码面试指南》
- 《编程珠玑》
- 《编程之美》
- 《挑战程序设计竞赛》
- 《算法(第四版)》
- 《算法导论》
- 《 MySQL必知必会》
- 《MySQL是怎样运行的》
- 《 高性能MySQL》
- 《 MySQL技术内幕: InnoDB存储引擎 》
- 《 Redis设计与实现 》
- 《Redis实战》
- 《 数据库系统实现》
《郝斌C语言自学教程》
比较老的视频,但是讲的很详细,适合小白。
【C语言】《带你学C带你飞》
小甲鱼的C语言教学,B站编程语言最能打的教学视频之一。
郝斌数据结构
虽然比较老,但是讲的比较详细,容易理解,对初学者非常友好。
数据结构-浙江大学
课程是由陈越与何钦铭共同录制,b站与慕课网都有,慕课网比较清晰一些
数据结构与算法基础
课程由青岛大学王卓老师录制,非常适合考研,讲的题比较多。