第1章 数据结构与算法介绍

文章目录

  • 1.1 数据结构和算法内容介绍
    • 1.1.1 先看几个经典的算法面试题
    • 1.1.2 数据结构和算法的重要性
    • 1.1.3 本套数据结构和算法内容介绍
    • 1.1.4 课程亮点和授课方式

1.1 数据结构和算法内容介绍

1.1.1 先看几个经典的算法面试题

 字符串匹配问题::

  1. 有一个字符串 str1= ““硅硅谷 尚硅谷你尚硅 尚硅谷你尚硅谷你尚硅你好””,和一个子串 str2=“尚硅谷你尚硅你”
  2. 现在要判断 str1 是否含有 str2, 如果存在,就返回第一次出现的位置, 如果没有,则返回-1
  3. 要求用最快的速度来完成匹配
  4. 你的思路是什么?

 暴力匹配 [简单,但是效率低]
 KMP 算法《部分匹配表》

 汉诺塔游戏,
请完成汉诺塔游戏的代码: 要求:1) 将 A 塔的所有圆盘移动到 C 塔。并且规定,在 2) 小圆盘上不能放大圆盘,
3)在三根柱子之间一次只能移动一个圆盘

在这里插入图片描述

 八皇后问题
八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于 1848 年提出:在 8×8 格的国际象棋上摆放八个皇后,使其不能互相攻击,即:任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。【92】=> 分治算法
在这里插入图片描述

 马踏棋盘算法介绍和游戏演示

  1. 马踏棋盘算法也被称为骑士周游问题

  2. 将马随机放在国际象棋的 8×8 棋盘 Board[0~7][0~7]的某个方格中,马按走棋规则(马走日字)进行移动。要求
    每个方格只进入一次,走遍棋盘上全部 64 个方格

  3. 游戏演示: http://www.4399.com/flash/146267_2.htm
    在这里插入图片描述

  4. 会使用到图的深度优化遍历算法(DFS) + 贪心算法优化

1.1.2 数据结构和算法的重要性

  1. 算法是程序的灵魂,优秀的程序可以在海量数据计算时,依然保持高速计算

  2. 一般来讲 程序会使用了内存计算框架(比如 Spark)和缓存技术(比如 Redis 等)来优化程序,再深入的思考一下,这些计算框架和缓存技术, 它的核心功能是哪个部分呢?

  3. 拿实际工作经历来说, 在 Unix 下开发服务器程序,功能是要支持上千万人同时在线, 在上线前,做内测,一切 OK,可上线后,服务器就支撑不住了, 公司的 CTO 对代码进行优化,再次上线,坚如磐石。你就能感受到程序是有灵魂的,就是算法。

  4. 目前程序员面试的门槛越来越高,很多一线 IT 公司(大厂),都会有数据结构和算法面试题(负责的告诉你,肯定有的)

  5. 如果你不想永远都是代码工人,那就花时间来研究下数据结构和算法

1.1.3 本套数据结构和算法内容介绍

尚硅谷 韩顺平 数据结构和算法2019 内容介绍.zip

1.1.4 课程亮点和授课方式

  1. 课程深入,非蜻蜓点水
  2. 课程成体系,非星星点灯
  3. 高效而愉快的学习 , 数据结构和算法很有用,很好玩
  4. 数据结构和算法很重要,但是相对困难,我们努力做到通俗易懂
  5. 采用 应用场景->数据结构或算法->剖析原理->分析实现步骤(图解)->代码实现 的步骤讲解 [比如: 八皇后问题和动态规划算法]
  6. 课程目标:让大家掌握本质 , 到达能在工作中灵活运用解决实际问题和优化程序的目的.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/628245.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wpf使用Popup封装数据筛选框

(关注博主后,在“粉丝专栏”,可免费阅读此文) 类似于DevExpress控件的功能 这是DevExpress的winform筛选样式,如下: 这是DevExpress的wpf筛选样式,如下: 这是Excel的筛选样式,如下: 先看效果 本案例使用wpf原生控件封装,功能基本上都满足,只是颜色样式没有写…

Kotlin中的委托

在Kotlin中,委托是一种强大的设计模式,它允许一个类将其一些职责委托给另一个类。这种机制通过关键字by来实现。委托有助于代码的重用,降低耦合性,并提供更清晰的类设计。在Kotlin中,有两种主要类型的委托:…

为何我选择山海鲸可视化:五大优势解析

在众多的可视化产品中,我选择了山海鲸可视化,这并非偶然。在对比了其他同类产品后,我发现山海鲸可视化具有许多独特的优势和特点,使得它成为了我心目中的理想选择。下面我简单说一下我选择这款产品的几大原因,希望对在…

最新国内可用GPT4、Midjourney绘画、DALL-E3文生图模型教程

一、前言 ChatGPT3.5、GPT4.0、GPT语音对话、Midjourney绘画,文档对话总结DALL-E3文生图,相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和…

【python 的各种模块】(9) 在python使用PIL( 即pillow模块 ) 修改图片

目录 1 导入PIL模块(pillow) 1.1 PIL的全称:Python Imaging Library 1.2 导入PIL模块 1.2.1 可用的导入形式 1.2.2 常用的导入形式 1.2.3 PIL下面的常用子模块 2 PIL.Image的方法 (读入,生成和显示图片) 2.1 用 PIL.Image…

蓝桥杯AcWing学习笔记 8-2数论的学习(下)

蓝桥杯 我的AcWing 题目及图片来自蓝桥杯C AB组辅导课 数论(下) 蓝桥杯省赛中考的数论不是很多,这里讲几个蓝桥杯常考的知识点。 约数个数定理 我们如何去求一个数的约数个数呢? N N N分解质因数的结果: N P 1 α…

HTML+CSS-02

阿里巴巴矢量图标库的使用 阿里巴巴网址矢量图标库网址 https://www.iconfont.cn/ 如何使用 选择需要的icon图标加入购物车下载代码 在将解压后的文件夹复制到项目中进入demo_index.html中打开就可以看到示例的三种用法 三种引入方法 Unicode 引用 Unicode 是字体在网页端…

vscode(visual studio code) 免密登陆服务器

1.生成密钥 首先,在本地,打开命令输入框: WinR–>弹出输入框,输入cmd,打开命令框。 然后,在命令框,输入 ssh-keygen -t rsa -C "love"按两次回车键,问你是否重写,选择…

人工智能SCI二区期刊Applied Intelligence高被引录用论文合集,含2024最新

今天给着急发论文的同学推荐一本期刊:《APPLIED INTELLIGENCE》。 该刊由SPRINGER出版商于1991年创刊,刊期Bimonthly,专注于人工智能和神经网络的研究,重点关注有关创新智能系统的方法论及其在解决现实生活复杂问题的研究进展&am…

Springboot中使用Filter过滤器

1、概述 springboot工程中使用Filter过滤器与其他地方使用基本相同,只是注入的方式不同。 2、创建Filter过滤器 实现Filter接口,重写doFilter方法 filterChain.doFilter(servletRequest,servletResponse);表示放行 public class MyFilter implement…

【AI】人工智能和天文大数据

目录 一、具体应用例子 1.1 星系分类 1.2 瞬态天体检测 1.3 光谱分析 1.4 引力波数据分析 二、关键技术详解 一、具体应用例子 1.1 星系分类 应用背景:随着天文望远镜技术的发展,积累了大量的星系图像。手动对这些图像进行分类几乎是不现实的&am…

Rocketmq rust版本-开篇

我是蚂蚁背大象(Apache EventMesh PMC&Committer),文章对你有帮助给Rocketmq-rust star,关注我GitHub:mxsm,文章有不正确的地方请您斧正,创建ISSUE提交PR~谢谢! Emal:mxsmapache.com Rust重构Rocketmq,大家好我是mxsm(Apache EventMesh PMC&Comm…

隐私计算的技术体系有哪些

随着各行各业的数字化转型发展,围绕数据的数字化应用如雨后春笋般出现,数据作为业务过程的重要产品,数据作为一种资源、生产要素或商品,越来越得到大家的重视,同时,数据只有在交易流通中才能体现出价值,但需要数据安全的支撑。数据作为数字经济的生产要素之一,具有四方…

Leetcode 474 一和零

题意理解: 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。 将字符串0和1的个数看作是该字符…

基于SSM的网上订餐管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

Python系列(2)—— 数据类型

Python核心数据类型 一、Numbers(数字)三、String(字符串)三、Tuple(元组)四、List(列表)五、Set(集合)六、Dictionary(字典) 在Pytho…

Go语言中的Pool

简介 Go语言中的pool是一个资源池,它可以存储一定数量的资源,这些资源可以被多个goroutine共享。Pool可以提高资源的利用率,减少资源的创建和销毁带来的开销。 原理 Pool的实现原理很简单,它使用一个队列来存储资源。当一个gor…

go语言初探(一)

package mainimport ("fmt""time" )func main() {fmt.Print("hello go!")time.Sleep(1 * time.Second)}运行后,结果如下: 1、golang表达式中,加;和不加;都可以 2、函数的{和函数名一…

五、Model与View

一、Model/View结构 数据:如数据库的一个数据表或者SQL查询结果,如内存中的数据类对象,或者磁盘文件结构等Model:与数据通信,并作为视图组件提供数据接口View:屏幕界面组件,视图从数据模型获得…

软件工程:黑盒测试等价分类法相关知识和多实例分析

目录 一、黑盒测试和等价分类法 1. 黑盒测试 2. 等价分类法 二、黑盒测试等价分类法实例分析 1. 工厂招工年龄测试 2. 规定电话号码测试 3. 八位微机测试 4. 三角形判断测试 一、黑盒测试和等价分类法 1. 黑盒测试 黑盒测试就是根据被测试程序功能来进行测试&#xf…