编程如果只是一个为了解决生活温饱的工具,那你可以完全忽略数据结构,算法,你的目标很容易实现;但如果你是热爱编程,把它当做对生活的追求,想在这一行走的更远,更久,那么在你的学习规划中,她们便是必不可少的一种语言;

算法,数据结构,程序设计方法,语言工具4个方面是一个程序设计人员所应该拥有的,算法是灵魂,数据结构是加工,对象语言是工具;由此可见算法和数据结构的重要性,不管我们选择Java,c语言还是JavaScript,她们都只是一种语言工具;核心和灵魂依旧在算法和数据结构
在学习算法之前,应该先学会数据结构;没有数据结构的支撑,算法有点艰辛;数据结构又分C语言版本的Java版本的;在学数据结构之前我们应该对这两个语言其中一门有所了解;
数据结构
深入学习之前先了解数据结构一组概念
数据: 描述客观事物的符号;能输入到计算机中,能被计算机程序处理;比如声音,图像,视频...
数据元素:是组成数据的有一定意义的基本单位;也被称为记录;(比如学生,老师
数据项:一个数据元素可以有若干个数据项组成;是数据项不可分割的最小单位;(比如学生的姓名,学号,性别...
数据对象:数据元素具有相同数量和类型的数据项;(比如学生有姓名,学号,性别等相同的数据项
数据结构:相互之间存在一种或者多种特定关系的数据元素集合;
数据结构按照视点不同可分为:逻辑结构和物理结构
不扯远了,我花了一个星期将八大基础排序和链表/二叉树/栈/队列制作成一份精美的PDF。下面简单介绍一下八大基础排序和基础的数据结构,每种排序的思想和基础的讲解和源码在文档里边有。


数据结构与算法学习文档及笔记
一、冒泡排序

二、选择排序

三、插入排序

四、快速排序

五、归并排序

六、希尔排序

七、堆排序

八、基数排序(桶排序)

九、递归

十、链表

十一、栈

十二、队列
数据结构[队列]就是这么简单

十三、二叉树
- 0.二叉树就是这么简单
- 1.动态创建二叉树
- 2.查询二又查找树相关


最后想要说明的是,排序算法/数据结构的代码可能不是最优解,代码的实现都是以比较容易理解的方式去写的。几乎每句代码都有对应的注释,应该是能看懂的。
本文探讨了编程不仅仅是解决实际问题的工具,更是程序员对生活的追求。介绍了算法、数据结构的重要性,并提供了八大基础排序及链表、二叉树等数据结构的学习资源。
2831

被折叠的 条评论
为什么被折叠?



