自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

华辰烟雨的博客

研究生学习过程中的笔记与心得

  • 博客(85)
  • 收藏
  • 关注

原创 Python基础及面试题

一、概述1、含义Python是一个面向对象的解释型的交互式高级脚本语言。Python被设计成一种高可读性的语言,因为它大量地使用了英语中的单词作为关键字,而且不像其他语言使用标点符号构成复杂的语法结构,Python的语法结构非常少。Python是一种带有对象、模块、线程、异常和内存自动管理的编程语言。2、优缺点(1)优点在于它简单易用,可移植,可扩展,内置数据结构,并且它是一个开源的解释性 动态特性 面向对象 语法简洁 可...

2021-08-31 14:48:09 408

原创 操作系统的基础知识和面试考点

一、概述1、含义操作系统(Operating System,简称 OS)是管理计算机硬件与软件资源的程序,是计算机系统的内核与基⽯; 操作系统本质上是运⾏在计算机上的软件程序; 操作系统为⽤户提供⼀个与系统交互的操作界⾯; 操作系统分内核与外壳(我们可以把外壳理解成围绕着内核的应⽤程序,⽽内核就是能操作硬件的程序)。二、进程和线程1、进程和线程的含义(1)进程含义进程:指在系统中正在运行的一个应用程序;程序一旦运行就是进程;进程——系统进行资源分配...

2021-08-29 22:25:17 863 4

原创 MySQL面试题

一、数据库相关1、类别数据库总体分为关系型数据库和非关系型数据库:关系型数据库有MySQL,非关系型数据库,包括键值存储数据库(Redis)、面向文档数据库(MongoDB)、图数据库(Neo4j)等。2、表的类型(1)共有5种类型的表格:MyISAM Heap Merge INNODB ISAM(2)简述MyISAM和InnoDB的区别:​​​​​是否⽀持⾏级锁 : MyISAM 只有表级锁(table-level locking),⽽...

2021-08-29 16:43:45 3034 6

原创 Django基础知识

一、基本概念1、含义Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。2、优缺点(1)优点功能完善、要素齐全:自带大量常用工具和框架(比如分页,auth,权限管理), 适合快速开发企业级网站。 完善的文档:经过十多年的发展和完善,Django有广泛的实践案例和完善的在线文档。开发者遇到问题时可以搜索在线文档寻求解决方案。 强大的数据库访问组件:Django的Model层自带数据库ORM组件,使得开发者无...

2021-08-28 19:23:08 501 1

原创 MongoDB基础

一、基本概念1、含义MongoDB是属于NoSql的一种数据类型。MongoDB是一款强大、灵活、且易于扩展的通用型数据库。MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨再为WEB引用提供可扩展的高性能数据存储解决方案,将数据存储为一个文档(类似JSON对象),数据结构由键值(key=>value)对组成支持丰富的查询表达,可以设置任何属性的索引;支持副本集、分片。它是一个介于关系数据库和非关系数据库之间的产品,是非...

2021-08-28 14:59:38 352

原创 Linux常用的命令及部分参数解释

一、基础命令二、文件目录三、权限四、大数据相关五、其他

2021-08-28 10:06:24 664

原创 数据结构之排序算法(python)

十大经典排序算法 数据结构中的十大经典算法:冒泡排序、快速排序、简单插入排序、希尔排序、简单选择排序、堆排序、归并排序、计数排序、桶排序、基数排序十大经典算法的复杂度和稳定性(如果a原本在b前面,而a=b,排序之后a仍然在b的前面):一、交换排序1、冒泡排序(前后比较-交换)(1)算法思想它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成...

2021-08-16 20:40:23 1397 1

原创 Spark之Spark内核

Spark 内核泛指 Spark 的核心运行机制,包括 Spark 核心组件的运行机制、Spark 任务调度机制、Spark 内存管理机制、Spark 核心功能的运行原理等一、部署模式Spark 支持多种集群管理器(Cluster Manager),分别为:1) Standalone:独立模式,Spark 原生的简单集群管理器,自带完整的服务,可单独部署到 一个集群中,无需依赖任何其他资源管理系统,使用 Standalone 可以很方便地搭建一个 集群; ...

2021-08-15 23:01:53 639

原创 Spark之基础知识

一、概述1、定义Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。2、Spark和Hadoop的联系和区别(1)联系:Hadoop MapReduce 由于其设计初衷并不是为了满足循环迭代式数据流处理,因此在多 并行运行的数据可复用场景(如:机器学习、图挖掘算法、交互式数据挖掘算法)中存 在诸多计算效率等问题。所以 Spark 应运而生,Spark 就是在传统的 MapReduce 计算框 架的基础上,利用其计算过程的优化,从...

2021-08-15 20:03:59 210

转载 Hadoop之Yarn

一、概述1、定义Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。2、基础架构YARN主要由ResourceManager、NodeManager、ApplicationMaster和Container等组件构成。二、工作机制(1)MR程序提交到客户端所在的节点。(2)YarnRunner向ResourceManager申请一个Application。..

2021-08-11 16:17:41 295

原创 Hadoop之MapReduce

一、概述1、定义MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。2、优缺点(1)优点 MapReduce易于编程:它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布到大量廉价的PC机器上运行。也就是说你写一个分布式程序,跟写一个简单的串行程序是一模一样的。就是因为这个特点使得

2021-08-11 15:35:08 139

原创 Hadoop之HDFS

一、HDFS概述1、定义HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。HDFS的使用场景:适合一次写入,多次读出的场景。一个文件经过创建、写入和关闭之后就不需要改变。2、优缺点(1)优点:高容错性:数据自动保存多个副本,它通过增加副本的形式来提高容错性。在某一个副本丢失后,它可以自动恢复。 适合处理大数据:数据规模可达到G

2021-08-10 22:28:35 719 2

原创 Hadoop之入门

一、Hadoop基本概述1、含义Hadoop是一个由Apache基金会所开发的分布式系统基础架构。主要解决海量数据的存储和海量数据的分析计算的问题。它包括三大发行版本:Apache、Cloudera(CDH)和Hortonworks(HDP)2、优点(1)高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失;(2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点;(3)高效性:在MapReduce的思想下.

2021-08-10 20:58:21 192 1

转载 MySQL--一条SQL语句在MySQL中如何执行的

本篇文章会分析一个 sql 语句在 MySQL 中的执行流程,包括 sql 的查询在 MySQL 内部会怎么流转,sql 语句的更新是怎么完成的。在分析之前我会先带着你看看 MySQL 的基础架构,知道了 MySQL 由那些组件组成以及这些组件的作用是什么,可以帮助我们理解和解决这些问题。1、MySQL基础架构分析(1)MySQL 基本架构概览下图是 MySQL 的一个简要架构图,从下图你可以很清晰的看到用户的 SQL 语句在 MySQL 内部是如何执行的。连接器:身份认证和权限相关(.

2021-08-07 22:27:35 129

转载 计算机网络--从输入URL到页面加载发生了什么

整个过程包括:1、浏览器的地址栏输入URL并按下回车2、浏览器查找当前URL是否存在缓存,并比较缓存是否过期3、DNS解析URL对应的IP4、根据IP建立TCP连接(三次握手)5、HTTP发起请求6、服务器处理请求,浏览器接收HTTP响应7、渲染页面,构建DOM树8、关闭TCP连接(四次挥手)1、URL我们常见的RUL是这样的:http://www.baidu.com,这个域名由三部分组成:协议名、域名、端口号,这里端口是默认所以隐藏。除此之外URL还会包含一些.

2021-08-07 21:33:07 141

原创 计算机网络--TCP为什么是三次握手和四次挥手?

1、为什么是三次握手,而不是两次或者四次?三次握手的简单示意图如下:第一次握手:客户端2、为什么是四次挥手,而不是三次?

2021-08-07 20:53:49 262

原创 计算机网络--五层协议的体系结构

计算机的体系结构包括三种:OSI的七层协议,TCP/IP的四层协议,五层协议。五层协议的体系结构知识为了介绍网络原理而设计的,实际应用还是采用TCP/IP四层体系结构。本文将要讲述的是五层协议的体系结构,越下面的层越靠近硬件,越上面的层越靠近用户。每一层都是为了完成一种功能,为了实现这些功能,就需要大家都遵守共同的规则--协议(protocol)。下面从下而上的介绍各层的含义及主要功能:1、物理层任务:物理层的任务就是透明地传送比特流。它就是把电脑连接起来的物理手段,比如光缆、电缆.

2021-08-07 10:55:48 9161

原创 力扣【剑指offer】题目汇总与总结

本文为《剑指offer》刷题笔记的总结,花费不到两个月的时间将力扣上《剑指offer》的75道题刷了一遍,遇到不会的知识点或者应该做一些记录的题目都将其写在了往日的博客里。整体来看,这75道题,涉及到常用的数据结构:数组、字符串、链表、栈、队列、树、图,还有一些常用的数据操作和算法:二分法、哈希表、递归、排序、查找、位运算、动态规划、回溯、滑动窗口、双指针、深度优先搜素(DFS)、贪心。1、数组(1)剑指offer03.数组中重复的数字。(2)剑指offer04.二维数组中的查找。解法:找标

2021-08-06 19:53:52 36947 6

原创 剑指offer63.股票的最大利润(贪心算法)

题目:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4] 输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: [7,6,4,3,1] 输出: 0解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。限制:0 <...

2021-08-05 11:23:19 353

原创 剑指offer62.圆圈中最后剩下的数字(约瑟夫环问题)

题目:0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输入: n = 5, m = 3 输出:3示例 2:输入: n = 10, m = 17 输出:2限制:1 <= n<= 10^5 ...

2021-08-05 09:47:26 244

转载 剑指offer60.n个骰子的点数(动态规划)

题目:把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。示例 1:输入: 1 输出: [0.16667,0.16667,0.16667,0.16667,0.16667,0.16667]示例2:输入: 2 输出: [0.02778,0.05556,0.08333,0.11111,0.13889,0.16667,0.13889,0...

2021-08-04 21:54:41 255

原创 剑指offer57-II.和为s的连续正数序列(滑动窗口)

题目:输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9 输出:[[2,3,4],[4,5]]示例 2:输入:target = 15 输出:[[1,2,3,4,5],[4,5,6],[7,8]]限制:1 <= target <= 10^5解题思路:滑动窗口可以看成数组中框起来的一个部分。本题来看,数组就是正整数序列[1,...

2021-08-04 18:59:59 189

原创 剑指offer44.数字序列中某一位的数字(找规律)

题目:数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第n位对应的数字。示例 1:输入:n = 3 输出:3示例 2:输入:n = 11 输出:0限制:0 <= n <2^31解题思路:根据序列找规律:得到规律:除0外,个位数9个占9*10(1)*1//10个位置,十位数90个占9*10*(2)*2//10个位置,...

2021-08-04 11:11:24 225

转载 剑指offer38.字符串的排列(DFS+剪枝)

题目:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例: 输入:s = "abc" 输出:["abc","acb","bac","bca","cab","cba"]限制:1 <= s 的长度 <= 8解题思路:对于一个长度为n的字符串(假设字符互不重复),其排列方案数共有n!种。根据字符串排列的特点,考虑二叉树中深度优先搜索所有排列方案,即通过字符交换,先固定第1位字符(n种情况)、再固定第2位...

2021-08-03 22:16:44 237

原创 牛客--SQL21.查找在职员工自入职以来的薪水涨幅情况

题目:有一个员工表employees简况如下:有一个薪水表salaries简况如下:请你查找在职员工自入职以来的薪水涨幅情况,给出在职员工编号emp_no以及其对应的薪水涨幅growth,并按照growth进行升序,以上例子输出为(注: to_date为薪资调整某个结束日期,或者为离职日期,to_date='9999-01-01'时,表示依然在职,无后续调整记录)题目简单总结为:查找所有员工自入职以来的薪水涨幅情况,给出员工编号emp_no以及其对应的薪水涨幅gro...

2021-08-03 19:49:12 700

原创 牛客--SQL12.获取每个部门中当前员工薪水最高的相关信息

题目:有一个员工表dept_emp简况如下:有一个薪水表salaries简况如下:获取每个部门中当前员工薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary,按照部门编号升序排列,以上例子输出如下:(注意: Mysql与Sqlite select 非聚合列的结果可能不一样)代码:1、错误代码:select dept_no,salaries.emp_no,max(salary) as maxSalary from dept_emp,sal..

2021-08-03 15:04:32 697

转载 剑指offer41.数据流中的中位数(小顶堆和大顶堆)

题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。例如,[2,3,4]的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:void addNum(int num) - 从数据流中添加一个整数到数据结构中。double findMedian() - 返回目前所有元素的...

2021-08-03 10:14:37 281

原创 剑指offer37.序列化二叉树(DFS深度优先搜索)

题目:请实现两个函数,分别用来序列化和反序列化二叉树。你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。提示:输入输出格式与 LeetCode 目前使用的方式一致,详情请参阅LeetCode 序列化二叉树的格式。你并非必须采取这种方式,你也可以采用其他的方法解决这个问题。示例:输入:root = [1,2,3,null,null,4,5]输出:[1,2.

2021-08-02 20:20:37 146

转载 剑指offer36.二叉搜索树与双向链表(中序遍历)

题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。为了让您更好地理解问题,以下面的二叉搜索树为例:我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。下图展示了上面的二叉搜索树转化成的链表。“head” 表示指向链表中有最小元素的节点。特别地,我们希望可以就地完成转换操作。当转化完成以后,树中节

2021-08-02 16:43:40 152

原创 剑指offer34.二叉树中和为某一值的路径(回溯法)

题目:输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。示例:给定如下二叉树,以及目标和target = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回:[ [5,4,11,2]...

2021-08-02 10:45:47 113

原创 剑指Offer 33. 二叉搜索树的后序遍历序列(划分左右子树递归)

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。参考以下这颗二叉搜索树: 5 / \ 2 6 / \1 3示例 1:输入: [1,6,3,2,5] 输出: false示例 2:输入: [1,3,2,6,5] 输出: true解题思路:在二叉搜索树中,左子树的元素必小于根,右子树的元素必大于根。所以从头开始遍历知道第一个比根节点...

2021-07-31 22:02:38 235

原创 剑指offer26.树的子结构(先序遍历)

题目:请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。例如:给定二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [20,9], [15,7]]提示:节点总数 <= 1000解题思路:...

2021-07-31 19:43:21 159

原创 力扣--根据前序、中序和后序来重建二叉树

二叉树的前序、中序和后序遍历:前序:根节点、左子树、右子树 中序:左子树、根节点、右子树 后序:左子树、右子树、根节点一、根据前序和中序来重建二叉树(剑指offer07题)1、题目:输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。2、示例Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,null,15,

2021-07-31 17:48:26 418

原创 Hadoop基础知识--Day01

1、HDFS的安全模式是指在安全模式下只能读不能写。2、Hadoop-2.6.5集群中的HDFS的默认的数据块的大小是128M。知识点:Hadoop2.x版本以前的默认数据块的大小是64M,到了Hadoop2.x版本以后。 默认的数据块大小就变成了128M,但是是可以更改的。3、mrappmaster/yarnchild不是HDFS的守护进程。知识点:HDFS有五大守护进程,分别为NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeM

2021-07-22 22:08:43 749 1

原创 牛客--计算机网络基础知识点之Day-01

1、传输层向用户提供端到端层。知识点:OSI七层+作用物理层:通过媒介传输比特,确定机械和电气规范。(比特bit) 数据链路层:将比特组装成帧和点对点的传递。(帧frame) 网络层:负责数据包从源到宿的传递和网际互联。(包packet) 传输层:提供端对端的可靠的报文传递和错误恢复。(段seqment) 会话层:会话的创建,管理和销毁。(会话协议数据单元SPDU) 表现层:对数据进行解析,翻译,加密,压缩。(表示协议数据单元PPDU) 应用层:允许访问OSI环境操作。(应用协议数据

2021-07-22 21:01:17 570 4

转载 剑指offer55-II.平衡二叉树(后序遍历)

题目:输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4] 1 / \ 2 2 / \ 3 3 / \4 4...

2021-07-22 16:41:28 135

原创 剑指offer32-III.从上到下打印二叉树(双端队列)

题目:请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。例如:给定二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [20,9], [15,7]]提示:节点总数 <= 1000解题思路:...

2021-07-22 11:38:26 159

转载 力扣--235.二叉搜索树的最近公共祖先(递归和迭代法)

题目:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树:root =[6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8 输...

2021-07-21 12:15:37 116

转载 剑指offer68-II:二叉树的最近公共祖先(后序遍历--回溯)

题目:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树:root =[3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1 输...

2021-07-20 22:21:02 356

转载 剑指offer28.对称的二叉树(后序遍历)

题目:请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。1/ \2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的:1/ \2 2\ \3 3示例 1:输入:root = [1,2,2,3,4,4,3] 输出:true示例 2:输...

2021-07-20 19:53:31 127

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除