我的数据结构算法学习之路(未完)
2017年07月06日
缘起
- 之前若干次看过DS和Algorithm,甚至也看了不少书,严老太的教材,《大话数据结构》。
- 也买了《算法》4th,《算法导论》,但感觉一直都没有很好的入门啊。
- 甚至也刷了部分题《算法与数据结构考研试题精析》,严老太的那本教辅也做了部分,当然除了自己非科班外,也没有好好刷,只做了选择和填空。
- 趁着找工作的机会想路这个思路理一理。正好之前在github上建了一个DS的仓库。
内容
常见数据结构内容
chap2 线性表 20170319
- 顺序表
- 链表
- 常见考查
- 约瑟夫(Joseph)环
chap3 栈和队列 20170319
- 栈
- 队列
- 顺序队列
- 链队列
- 循环队列
- 优先队列
- 队列的应用
chap4 串 20170728
chap6 树
chap7 图
chap8 查找
- 静态表的查找
- 动态树的查找
- 哈希表的查找
- 索引查找
chap9 排序 20170319
- 抛弃编程的知识不讲外,我对此理顺了相应的关系。算法就是解决问题的方法,有局限性,然后你写论文对它进行提高,对于初学而言,先把基础的学好,知道什么情况下用哪种算法比较好,这个主要在搜索和排序的使用上。以前学DS的时候,放在最后两章,其实基础的不影响。
- 数据结构就是数据的存储载体,我的理解是这样,从数组,到链表,栈,树,图,熟练掌握这些的基本操作,比如增,删,查,这些常用的操作,然后再根据具体的场景去考虑用什么样的结构比较方便。
- 代码练习步骤(以数组为载体)
- 找最大值,最小值,总分,平均分,排名。
- 排序
- 插入排序(直接插入,折半插入,希尔)
- 交换类(冒泡,快排)
- 选择类(直接选择)
- 归并排序
- 搜索(也就是查找)
- 以上先理解这些名词的意思,就算目前代码写不了,至少要能告诉别人这些思路。
- 常用的算法思想
参考和收获