数据结构和算法内容介绍
Posted xuweiweiwoaini
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构和算法内容介绍相关的知识,希望对你有一定的参考价值。
1 经典的算法题目
1.1 字符串匹配问题
- 有一个字符串str1="哈哈哈 你好啊好啊 你好啊啊 你好啊好啊啊你好你好好",和一个子串str2="你好啊好啊啊".
- ①判断str1中是否是否包含str2,如果存在,就返回第一次出现的问题。如果没有,则返回-1.
- ②要求用最快的速度完成匹配。
- 思路1:暴力匹配(简单、但是效率低)。
- 思路2:KMP(部分匹配表)。
1.2 汉诺塔
- 请完成汉诺塔游戏的代码,要求如下:
- ①将A塔的所有圆盘移动到C塔。
- ②小圆盘上不能放大圆盘。
- ③在三根柱子之间一次只能移动一个圆盘。
- 思路:分治算法。
1.3 八皇后问题
- 国际西洋棋手马克斯·贝瑟尔于1848年提出:在8*8格的国际象棋上摆放八个皇后,使其不能相互攻击,即:任意两个皇后都不能处于同一行、同一列或者同一斜线上,问多少种摆法。
- 思路:回溯算法。
1.4 骑士周游问题
- 将马随机随机放在国际象棋的8*8棋盘上的某个方格中,马按照走棋规则(马走日字)进行移动。要求每个方格只进入一次,走遍棋盘上的全部64个方格。
- 思路:图的深度优化遍历算法(DFS)+贪心算法优化。
2 数据结构和算法的重要性
- 算法是程序的灵魂,优秀的程序可以在海量数据计算的时候,依然保持高速计算。
- 一般来讲,程序会使用内存计算框架(如Spark)和缓存技术(如Redis)等优化程序,再深入的思考以下,这些计算框架和缓存技术,它的核心功能是哪个部分呢?
以上是关于数据结构和算法内容介绍的主要内容,如果未能解决你的问题,请参考以下文章
数据结构与算法(Java版) | 本套系列教程的内容介绍和授课方式
数据结构与算法(Java版) | 本套系列教程的内容介绍和授课方式