大家好,我是辣条。

这是一位粉丝朋友给我的私信,今天就他这个问题好好聊聊。

先学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++

  • 《 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站与慕课网都有,慕课网比较清晰一些

数据结构与算法基础

课程由青岛大学王卓老师录制,非常适合考研,讲的题比较多。

大一新生先学C语言编程还是先学C语言的数据结构和算法?相关推荐

  1. c语言程序设计自学跟谁好,双辽c语言编程学习,双辽学c语言编程哪个好,双辽学c语言编程自学好还是报班好...

    双辽c语言编程学习,双辽学c语言编程哪个好,双辽学c语言编程自学好还是报班好 首页 > 软件 > 双辽c语言编程学习 作者:镀金池   发布时间:2017-12-07 05:48 一个C语 ...

  2. c语言程序设计需要学多久,九江c语言编程学习,九江学c语言编程报班,九江学c语言编程一般要多久才能学会...

    九江c语言编程学习,九江学c语言编程报班,九江学c语言编程一般要多久才能学会 首页 > C语言 > 九江c语言编程学习 作者:镀金池   发布时间:2017-10-18 14:11 据ID ...

  3. c语言编程学多久,丰城c语言编程学习,丰城学c语言编程的学校,丰城学c语言编程一般要多久才能学会...

    丰城c语言编程学习,丰城学c语言编程的学校,丰城学c语言编程一般要多久才能学会 首页 > 软件 > 丰城c语言编程学习 作者:镀金池   发布时间:2018-04-09 16:40 在之后 ...

  4. 江门C语言培训,江门c语言编程学习,江门学c语言编程培训,江门学c语言编程效果怎么样...

    江门c语言编程学习,江门学c语言编程培训,江门学c语言编程效果怎么样 首页 > C语言 > 江门c语言编程学习 作者:镀金池   发布时间:2017-10-18 09:25 在初期的C语言 ...

  5. C语言报名里面培训怎么填,庄河c语言编程学习,庄河学c语言编程培训,庄河学c语言编程报个培训班怎么样...

    庄河c语言编程学习,庄河学c语言编程培训,庄河学c语言编程报个培训班怎么样 首页 > 软件 > 庄河c语言编程学习 作者:镀金池   发布时间:2017-11-29 11:13 明天利用时 ...

  6. 安庆师范大学c语言程序设计,安庆c语言编程学习,安庆学c语言编程培训,安庆学c语言编程一般能拿多少工资...

    安庆c语言编程学习,安庆学c语言编程培训,安庆学c语言编程一般能拿多少工资 首页 > C语言 > 安庆c语言编程学习 作者:镀金池   发布时间:2017-10-18 15:20 假定我们 ...

  7. 汕头c语言培训班,汕头c语言编程学习,汕头学c语言编程哪个好,汕头学c语言编程需要报培训班吗...

    汕头c语言编程学习,汕头学c语言编程哪个好,汕头学c语言编程需要报培训班吗 首页 > C语言 > 汕头c语言编程学习 作者:镀金池   发布时间:2017-10-18 20:12 经历:若 ...

  8. 湛江C语言培训,湛江c语言编程学习,湛江学c语言编程报班,湛江学c语言编程自学好还是报班好...

    湛江c语言编程学习,湛江学c语言编程报班,湛江学c语言编程自学好还是报班好 首页 > C语言 > 湛江c语言编程学习 作者:镀金池   发布时间:2017-10-19 09:51 在Swi ...

  9. 有没有c 或c语言的短期培训学校,根河学c语言编程,根河学c语言编程的学校,根河学c语言编程报个培训班怎么样...

    根河学c语言编程,根河学c语言编程的学校,根河学c语言编程报个培训班怎么样 首页 > 软件 > 根河学c语言编程 作者:镀金池   发布时间:2017-11-30 11:02 另外,尽早调 ...

  10. 高斯消元法的c语言编程,列主元高斯消元法的C语言编程

    列主元高斯消元法的C语言编程 列主元高斯消元法 基本思想:用高斯消元法求解线性方程组时,为避免小的主元,在进行第k步消元前,应该在第k列(k)元素aik(i k,(k)(k)例如|aikk| max| ...

最新文章

  1. ICLR2020 | 图池化没有考虑图结构?一文带你了解最新图池化STRUCTPOOL
  2. mysql插入第一_mySQL教程 第5章 插入 更新与删除数据
  3. ajax的交互流程有哪几步
  4. python日志模块的封装
  5. 【2018.4.7】模拟赛之四-ssl2385 猜数【水题】
  6. 2010数据库SQL Server 盘点
  7. 听说读论文也有trick?这篇文章告诉你深度学习论文阅读最佳姿势
  8. 结构损伤检测与智能诊断 陈长征_宿迁厂房安全检测多少钱介绍说明
  9. word无法启动转换器recovr32_迅捷PDF转换器3.0.1Mod会员版
  10. 删除购物车ajax js,在购物车中使用ajax在woocommerce中移除产品
  11. linux用命令行运行matlab的.mat文件
  12. win11下载时卡住0%不动怎么办 Windows11下载卡在0%的解决方法
  13. 使用Gradle构建Spring源码
  14. 微信小程序、小游戏反编译获取源码
  15. 有什么新手适合的3D建模软件
  16. dell笔记本耳机怎么设置_戴尔笔记本电脑怎样设置耳机
  17. mariadb数据库基本使用
  18. Java实现咖啡馆选餐系统
  19. python鼠标绘图_python opencv入门 鼠标绘图(4)
  20. html怎么设置左偏移量,CSS中margin属性的偏移量详解(代码示例)

热门文章

  1. 基于色彩直方图匹配的颜色传递算法
  2. php遵义旅游管理系统的设计与实现毕业设计源码091801
  3. 爬去网络数据的一般思路
  4. 上计算机课睡觉检讨书400,课堂上睡觉检讨书范文
  5. Java程序员应该学习的10大技术
  6. 不同证书格式Der 、Cer 、Pfx 、Pem区别
  7. 管理计算机找不到应用程序,电脑打开IE浏览器显示找不到应用程序如何解决
  8. 文献学习(part102-A)--Autoencoders
  9. Keepalived主主虚拟路由器与虚拟服务器
  10. macbook键盘失灵