码迷,mamicode.com
首页 > 编程语言 > 详细

数据结构和算法内容介绍

时间:2019-11-17 17:31:53      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:国际   马走日   计算框架   重要性   返回   思路   有一个   算法   spark   

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)等优化程序,再深入的思考以下,这些计算框架和缓存技术,它的核心功能是哪个部分呢?

 

数据结构和算法内容介绍

标签:国际   马走日   计算框架   重要性   返回   思路   有一个   算法   spark   

原文地址:https://www.cnblogs.com/xuweiweiwoaini/p/11877141.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!