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

article/2025/9/10 3:21:41

大家好,我是辣条。

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

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

数据结构与算法基础

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

 👇🏻 疑难解答、学习资料、路线导图可通过搜索下方 👇🏻 


http://chatgpt.dhexx.cn/article/kulVXaRA.shtml

相关文章

【数据结构和算法】如何学习数据结构与算法 ?过来人的建议(一)【方法篇】

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

数据结构与算法简介

0. 内容说明 最近在自己编写一些小的算法的时候,深感自己的算法过于臃肿。碰巧Datawhale在新的一期组队学习中组织了数据结构与算法的课程学习。于是就参加了,再次感谢Datawhale~~ 首先跟大家分享一下两个自己感觉比较好的学习资料,一个是 …

数据结构和算法知识点整理

Q1:数据结构和算法的知识点整理: 数据结构和算法的需要掌握的知识点,我的好朋友启舰整理的: Q2:链表,队列和栈的区别 链表是一种物理存储单元上非连续的一种数据结构,看名字我们就知道他是一种…

如何学习数据结构和算法

首先掌握常用的、基础的。然后在此基础上往进行扩展学习。 常用的、基础的数据结构和算法有20个。 数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树 算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法…

Java的数据结构和算法

今天我们来简单介绍一下Java的数据结构和算法。 一、数据结构 1、数据结构的分类 2、数据结构的基本功能 二、算法 1、算法是什么 2、算法的特点 一、1、数据结构是计算机组织、存储数据的方式。简单来说就是,数据按指定的规则进行存储,从而得到一个有固定存储格式的数据集…

数据结构与算法——绪论

前言:数据结构与算法是计算机科学与工程的基础,它们的相互关系和作用是程序的本质。凭借一句话获得图灵奖的Pascal之父Nicklaus Wirth把它们表示为 算法数据结构程序 目录: 1、算法与数据结构的重要性①相关定义②为什么要学习算法③数据结构…

【建议收藏】数据结构和算法面试题

数据结构 数据结构分为两大类,线性结构和非线性结构。 线性结构:数组、队列、链表、栈非线性结构:多维数组、树结构、图结构 1.数组 数组是最常用的数据结构,用于存储相同类型的数据,数组的长度也是固定的。 数组…

数据结构和算法:什么是数据结构,什么是算法

文章目录 前言数据结构和算法1.数据结构1.1数据结构的类型2.算法2.1推导大O阶方法常数阶O(1)和线性阶O(n)为什么算法1时间复杂度为O(n)而不是O(1)呢?对数阶O( logn):平方阶O( n2): 前言 这几天复习数据结构,在看《大话数据结构》&…

python数据结构和算法

前面系统地学习了python相关的基础知识,接下来,我们将继续学习python的数据结构和算法。 我们知道,程序数据结构算法,那么,什么是数据结构,有什么是算法呢?如何系统的学习数据结构和算法呢&am…

【数据结构和算法】入门初识篇

目录 一、前言 二、数据结构的理解 物理结构和逻辑结构 1.逻辑结构 2. 物理结构 一、前言 我们前面我学了Java的内部类,现在来学习一下数据结构和算法,多科齐下不仅可以 学科交插学习互相帮助,还可以锻炼跳跃性思维。 二、数据结构的…

什么是数据结构和算法

从远古的汇编语言到现代编程语言,计算机编程已经变得更加强大、高效和先进。然而,计算机编程中的数据结构和算法的核心概念和使用并没有改变。从一开始,DSA就一直是计算机编程的核心。 备注: 下文统一使用DSA表示数据结构和算法。 你可能听说…

数据结构与算法——算法

😊数据结构与算法——算法 🚀什么是算法?🚢算法的特征(特性) 🚀算法的设计(要点)🚀算法效率的度量🚢事后统计法🚢事前分析估算法&…

数据结构与算法

数据结构与算法 1.数据结构的概念 数据结构指的是一组数据的存储结构。 2.算法的概念 算法是指操作数据的一组方法 3.二者的关系 数据结构是为算法服务的,而算法要作用在特定的数据结构上。 4.最常用的数据结构预算法 数据结构:数组、链表、栈、队列、散…

数据结构与算法学习笔记

本文是王争老师的《算法与数据结构之美》的学习笔记,详细内容请看王争的专栏 。有不懂的地方指出来,我做修改。 数据结构与算法思维导图 数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。 数据结构是为算法服务的&a…

数据结构与算法(总结)

总结: 一、数据结构(Data Structure) 是数据的组织结构,用来组织、存储数据。算法(Algorithm) 就是解决问题的方法或者过程。 二、数据结构分为逻辑结构和物理结构。逻辑结构分为集合结构、线性结构、树形结…

Minio 分布式集群部署

文章目录 一、分布式存储可靠性常用方法1. 概述2. 冗余3. 校验 二、分布式Minio优势2.1. 数据保护2.2. 高可用2.3.一致性 三、运行分布式Minio3.1. 启动方案简述3.2. 案例说明3.3. 制作分布式启动脚本3.4. 制作伪分布式启动脚本3.5. 登录minio 四、分布式Minio负载均衡4.1. ngi…

【集群分布式问题】分布式集群时钟同步问题及解决方案

文章目录 一、 时钟不同步导致的问题二、集群时钟同步配置1. 分布式集群中各个服务器节点都可以连接互联⽹2. 分布式集群中一个节点或每个节点都不能访问互联网 一、 时钟不同步导致的问题 时钟此处指服务器时间,如果集群中各个服务器时钟不⼀致势必导致⼀系列问题&…

hadoop-spark完全分布式集群搭建

hadoop-spark完全分布式集群搭建 一、解压spark文件二、修改spark-env.sh文件四、分发给各节点五、主节点配置环境六、启动 本次采用的系统为centos7 hadoop版本为2.7.7 spark版本为2.1.1 链接:https://pan.baidu.com/s/1j4M21s6rURvl2uvZC_wxtQ 提取码:…

minio分布式集群部署

minio分布式集群部署 分布式 Minio 可以让你将多块硬盘或者多台服务器组成一个对象存储服务。由于硬盘分布在不同的节点上,分布式 Minio 避免了单点故障。MinioMinio分布式模式可以帮助你搭建一个高可用的对象存储服务,你可以使用这些存储设备&#xff…

Ubuntu20.04下搭建Hadoop伪分布式集群

Ubuntu虚拟机的安装 VW ware安装Ubuntu虚拟机及环境配置 关闭防火墙 为了减少搭建集群的复杂性,关闭防火墙如果对防火墙很了解可以可以不用关闭开放相应端口即可。借助ufw软件包使操作更方便。 # 安装防火墙工具 sudo apt-get install ufw# 开启 sudo ufw enabl…