数据结构和算法内容介绍

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版) | 本套系列教程的内容介绍和授课方式

数据结构与算法(Java版) | 本套系列教程的内容介绍和授课方式

数据结构与算法

有哪些用 Python 语言讲算法和数据结构的书

数据结构与算法(Java版) | 数据结构与算法的关系