课程背景
程序是为了解决实际问题而存在的。然而为了解决问题,必定会使用到某些数据结构以及设计一个解决这种数据结构的算法。而在编程中,数据结构与算法的学习非常重要,堪称程序员的内功修炼体现。想要写出优秀的代码,一定要经过大量的练习和积累。学好数据结构与算法的原因如下:
1、数据结构与算法是程序的灵魂,是朴素的基础,学好它有有助于理解各种上层抽象。
2、在编程实践中,数据结构和算法随处可见,影响重大。
3、学好数据结构和算法,能够从根本上去避免过度设计、资源浪费。
4、当今流行的WEB新时代,各种云概念,海量数据,百万用户并发(从以前著名的C10K问题,到现在的C1000K甚至更高问题),最终都是数据结构与算法的比拼。
数据结构与算法本身是一个很庞大的知识体系。所以我们本套课程,每一节课讲解一个算法,挑选的都是经典的例题,难度由潜及深。目的是可以帮助大家打开算法世界的大门,引发大家的思考,共同学习,共同进步。
课程目标
本套课程目标是让大家在
课程设计原则
本套课程设计时,难度由浅到深,每一节课讲解一个经典例题。例题都来自网络上的经典面试题,与算法题库。鼓励大家相同题目多种思路与解法解决问题,课程中讲到的解法不一定是最优解,提倡大家课后独立思考或多人讨论,得出不同方案解决问题。
本套课程每节课为一个题目讲解,当前课程为基础课程,重点讲解一些相对简单的题目,目的是让大家先有一个基本的了解。后面计划慢慢推出稍微难一些的题目讲解。或者一些经典面试例题讲解。
本课程基于C#程序语言设计,大家也可以使用自己擅长的编程语言解决问题。编程语言不通,但是算法是想通的。
第一章
数据结构与算法初识
1.1
什么是数据结构与算法
第二章
算法例题讲解
2.1
二维数组
2.2
字符串替换
2.3
旋转字符串
2.4
水仙花数
2.5
两个栈实现队列
2.6
有趣的连加和计算
第三章
待续
-
ARinChina 加速想象力AR VR开发工程师、Unity3D专业讲师、《ARVR开发实战》作者