自学简单编程可行吗？
数据结构可以说是计算机专业同学的必修课，你刚开始学习数据结构的时候，会感觉比较难，但是经过不断的练习，会越来越顺。你现在已经学了 C 语言，已经走出了第一步，因为 C 语言是基础。 那么如何学好数据结构，首先你要知道什么是数据结构，我为什么要学习数据结构，这样你才有足够的学习动力。例如，复杂的程序，软件都需要你有足够的数据结构的知识，学好数据结构，对今后找工作，对你的编程能力和编程事业都有很大的帮助。 学习数据结构，首先要学习相关基础概念，可以看经典的《数据结构》这本书。平时多看书，多上机编程实践，在实践中会发现很多自己之前没有注意到的细节，发现自己的不足，然后解决它。 在上机写代码的过程中，要大胆尝试，注意将学到的数据结构相关知识运用进来，可以搜一些 ACM 的题，或者写一些 LeetCode 的题。选定一个题后，你首先要对题目进行分析，这道题目想要考查什么知识，用什么方法更好，并且尝试用不同的方式去解决这个问题。在解决问题的时候，注意编程规范。 算法与数据结构密切相关，你在学习数据结构的时候，其实也是在学习算法，一般是解算法题需要用到各种数据结构的知识。目前的数据结构主要有： 在学习的时候，要想为什么要这样设计，优点在哪里，有什么改进方法，逐步通过这样的方式提升逻辑思维能力。不懂就查，找学习资料和相关解答，坚持学习。 1. 算法学习 LintCode：https://www.lintcode.com/ 算法学习网站，上去每天刷两道算法题，走遍天下都不怕。 2. 算法学习 LeetCode：https://leetcode.com/ 也是算法题网站，同上。 3. 算法学习 LeetCode 中文站：https://leetcode-cn.com/ 这个是上面算法题网站的中文站点，英文不好的可以刷这个，英文好的推荐去刷英文网站的题目，还能提升英语能力。 4. 中国大学MOOC网：https://www.icourse163.org/ 中国大学MOOC是由网易与高教社携手推出的在线教育平台，承接教育部国家精品开放课程任务，向大众提供中国知名高校的MOOC课程。在这里，每一个有意愿提升自己的人都可以免费获得更优质的高等教育。 5. LeetCodeAnimation：https://github.com/MisterBooo/LeetCodeAnimation 用动画的形式呈现解 LeetCode 题目的思路。  我的其他相关回答：
在大学生群体中，广泛流传着这么一个段子，传说中有一棵树，叫高数，上面挂了很多人。 但是计算机专业的同学表示，呵呵。 朋友，数据结构听过伐？ 而在Quora上有个提问：“自从你们学了数据结构后，生活有什么变化嘛？” 一众计算机大神的回答可以说是很逗比了——我觉得我的整个世界都变了！！！ 当然最重要的一点是，自从学了数据结构，总觉得路上的树长得哪里不太对…… 程序=数据结构+算法，可见数据结构和算法对于程序的重要性。 数据结构是一种存储和组织数据的方式，以便于访问和修改。数据结构包括数据的逻辑结构、数据的存储结构以及数据的运算，即按照某种逻辑关系组织起来的一批数据，按一定的映射方式把它存放在计算机的存储器中，并在这些数据上定义了一个运算的集合。 1、数据结构与算法必备的 50 个代码实现 这份资源的作者王争老师是前 Google 工程师，5 万+人跟着学的《数据结构和算法之美》专栏作者。他总结了程序员必备的 50 个数据结构与算法，以及相应的代码实现。 2、算法可视化工具 该仓库包含了多种基于 JavaScript 的算法与数据结构。 数据结构包含了 链表、双向链表、队列、栈、哈希表(散列)、堆、优先队列、字典树、树、优先队列、二叉查找树、AVL 树、红黑树、线段树、树状数组、图、并查集、布隆过滤器 算法包含了 算法主题 和 算法范式。 3、常见数据结构与算法的Python实现 这个仓库用python语言实现了绝大部分算法，主要是用于教学目的，因此效率稍微低于工业界。 包含了常见的算法的python实现，如二叉树、排序、查找等等。这些是算法工程师必须掌握的技能。 1、《数据结构与算法分析》（原书第2版）豆瓣9.0分 本书是国外数据结构与算法分析方面的标准教材，介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算)。 2、《大话数据结构》豆瓣8.5分 全书以趣味方式来叙述，大量引用各种各样的生活知识来类比，并充分运用全彩色图形语言来解读抽象内容，对数据结构所涉及的一些经典算法做出逐行分析、多算法比较。 3、《数据结构（C语言版）》豆瓣6.1分 《数据结构》（C语言版）是为“数据结构”课程编写的教材，也可作为学习数据结构及其算法的C程序设计的参数教材。 本书的前半部分从抽象数据类型的角度讨论各种基本类型的数据结构及其应用；后半部分主要讨论查找和排序的各种实现方法及其综合分析比较。 对于Python入门我比较推荐这套教程，这个教程是我发现目前市面上比较全的一个基础课程，全集547集，每一节内容都是一个小知识点，但是开头的内容可以先跳过，大家可以直接从110集Python的起源开始看起来。 这个教程就是真正意义上的零基础教程。尤其是许多小的地方都会说明，之前在学校学或者自学的时候总是会遇到很多问题老师也不说就带过了。但这个视频里几乎每次出现疑问老师马上就说到了。非常理解学生的思维。而且很多不好理解的地方都用了各种形象的例子呀~ 非常适合零基础学Python的小伙伴，每个学习阶段之后还附有小案例，大家可以跟着练习操作。 课程知识全面透彻，案例极为丰富，阶段课程完结后都配备了综合实战案例，具备大量优雅、高质量的代码供初学者训练，手把手边学边干，清楚，实用。 这套课程没什么废话，关键有很多案例手把手带着练，这点非常重要。能跟着敲完代码的不是多强，起码对java的整个体系架构，各个知识都算有一个较深的理解，真的是远超看慕课或者自己看书。 既有底层原理的解释，又有代码实操实践，像很多小伙伴在学习过程中没有思路的就完全可以看这套课程希望能带给你更多点子。 上面这些就是我的分享了，学编程一直在路上 @夏天的葡萄 ~