《有趣的算法(数据结构).ppt》由会员分享,可在线阅读,更多相关《有趣的算法(数据结构).ppt(10页珍藏版)》请在三一办公上搜索。
1、曹鹏,有趣的算法(数据结构),题外话,CS(Computer Science)基础数据库操作系统计算机组成体系结构算法与数据结构算法用途面试找工作“好玩”应用机器学习分类聚类,课程大纲(1),简介课程大纲与简介什么是数据结构什么是算法一些数学记号时间复杂度和空间复杂度常见问题的复杂度数据结构线性表堆栈队列实现数组链表数组的插入和删除链表的插入和删除,课程大纲(2),堆栈的相关问题队列的相关问题 维护队列单调性维护堆栈单调性二叉树定义和概念二叉搜索树 二叉树的遍历二叉树平衡的概念 其他树总结并查集图及相关算法图的定义、概念和表示最小生成树 最短路(1)dijkstra算法最短路(2)bellma
2、n-ford算法,课程大纲(3),最短路(3)floyd算法最小生成树(1)prim算法最小生成树(2)krusal算法 拓扑排序算法图的搜索广度优先算法图的搜索深度优先算法无向图的连通分量有向图的强连通分量排序和查找 排序算法的分类冒泡排序插入排序归并排序计数排序 基数排序 快速排序,课程大纲(4),快速排序的应用堆与优先队列堆的建立 堆的插入和删除 杨氏矩阵简介 字符串 字符串查找算法 暴力比较(1)字符串查找算法 KMP(2)哈希函数入门 基于hash的查找Robin-KARP算法 翻转等其他问题更难的问题高级算法 贪心算法工作安排 贪心算法 0/1背包贪心算法 最小生成树,课程大纲(5
3、),动态规划的起源动态规划算法编辑距离 动态规划算法加权工作安排 动态规划算法0-1背包动态规划算法最长公共子序列动态规划算法最长单调子序列动态规划算法旅行商问题动态规划的优化递归与分治千万别忘记分治!看似简单的前缀和与后缀和 二叉树的遍历、搜索树的判断 链表的长度与翻转 数组局部最小值问题斐波那契数列求值二分查找,课程大纲(6),递归树的复杂度分析总结floyd原理有趣的算法问题(1)最大子数组和 有趣的算法问题(2)交换排序有趣的算法问题(3)移动到开头和结尾的排序问题有趣的算法问题(4)字典序最小的单词更深刻的理论未来的路结束语到哪里去玩?,说明,听众条件喜欢算法和数据结构兴趣是最好的老师不需要计算机专相关基础避免繁杂的数学推导和公式避免繁杂的代码本课程不是面试宝典大学基础课算法的世界很美好Lets go!,结束语,http:/曹鹏博士谢谢各位!,