| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 数据结构和算法--入门篇 -> 正文阅读 |
|
[数据结构与算法]数据结构和算法--入门篇 |
一、数据结构和算法我们先看几个经典的算法题,比如:字符串匹配问题 1、需求1有一个字符串 str1= ""Hello World LeaderCode? Hello Spark Hadoop Kafka Flume Zookeeper Chickhouse Hive Hbase"",和一个子串 str2="Hello World LeaderCode" 功能:现在要判断 str1 是否含有 str2, 如果存在,就返回第一次出现的位置, 如果没有,则返回-1 要求:要求用最快的速度来完成匹配 你的思路是什么?采用KMP算法。采用这个算法主要是建议一个部分匹配表,通过这个部分匹配表的搜索词来匹配,来提高算法的匹配效率 2、需求2汉诺塔游戏, 请完成汉诺塔游戏的代码。 要求:
?你的思路是什么?使用到分治算法 3、需求3八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即:任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法 你的思路是什么?使用到回溯算法 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种计算机语言可以解决此问题 链接:?http://www.7k7k.com/swf/49842.htm 4、需求4马踏棋盘算法也被称为骑士周游问题,将马随机放在国际象棋的8×8棋盘Board[0~7][0~7]的某个方格中,马按走棋规则(马走日字)进行移动。要求每个方格只进入一次,走遍棋盘上全部64个方格 游戏演示: http://www.4399.com/flash/146267_2.htm 二、数据结构和算法的重要性
1、数据结构和算法的介绍
2、线性结构(1)线性结构作为常用的数据结构,其特点:数据元素之间存在一对一的线性关系 (2)线性有两种不同的存储数据结构,即顺序存储的数据结构(数组)和链表存储的数据结构(链表)
3、非线性结构非线性结构包括:二位数组、多维数组、广义表、树结构、图结构 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/27 9:30:45- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |