- 博客(22)
- 收藏
- 关注
原创 二叉树的层序遍历
二叉树的层序遍历 方法:广度优先搜索 题目描述:给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例:二叉树:[3,9,20,null,null,15,7], 返回其层次遍历结果: [ [3], [9,20], [15,7] ] 思路:由于要求输出的结果返回一个二维数组,把每一层单独输出,因此在变量的过程中需要对每一层区分。可以在每一层遍历前记录队列中的结点数量,然后进行遍历这一层。 代码: /** * Definition for a binary tre
2020-10-08 18:54:12
240
原创 二叉树前中后序遍历框架
遍历的方法有两种解法:递归和迭代 先序遍历: 判空 访问结点 左孩子入栈(再次从1开始执行) 右孩子入栈(再次从1开始执行) 中序遍历: 判空 左孩子入栈(再次从1开始执行) 访问结点 右孩子入栈(再次从1开始执行) 后序遍历: 判空 左孩子入栈(再次从1开始执行) 右孩子入栈(再次从1开始执行) 访问结点 1.递归框架: /** * Definition for a binary tree node. * public class TreeNode { * int
2020-09-23 11:25:22
336
原创 链栈java实现
链栈实现 java import java.util.Iterator; import java.util.NoSuchElementException; import edu.princeton.cs.algs4.StdIn; import edu.princeton.cs.algs4.StdOut; //链表栈 public class LinkedStack<Item> implements Iterable<Item> { private int n; priv.
2020-09-19 10:43:44
249
原创 支持动态扩容的栈
实现动态扩容的栈 (数组实现) 泛型及其优缺点 assert 断言 对象游离及避免方法 迭代器 import java.util.Iterator; import java.util.NoSuchElementException; import edu.princeton.cs.algs4.StdIn; import edu.princeton.cs.algs4.StdOut; //实现动态扩容的 数组栈 public class ResizingArrayStack<Item> imp.
2020-09-18 23:21:10
535
原创 java迭代器Iterator
Java 迭代器Iterator 迭代器Iterator是一种设计模式,可以使序列类型的数据结构的遍历与被遍历的对象分离,我们无需关系该序列的底层结构是什么。只要拿到对象,就可以用迭代器对对象内部的元素进行遍历。如对集合ArrayList和HashSet迭代。 Iterable 实现这个接口的集合对象是可以进行迭代的。IIterable 有一个默认的方法forEach进行遍历操作。 Iterator 迭代器提供迭代的对象,具体如何迭代时这个接口规范的。 Iterator 接口包含三个方法: 1.has
2020-09-18 19:11:32
156
原创 JVM体系结构、垃圾回收算法
转载请注明出处: JVM体系概览 上图中亮色区域有两个特点: 1.所有线程共享,灰色是线程私有的 2.存在垃圾回收GC 类加载器 注意: 1.方法区并不是存放方法的区域,而是存放类的描述信息(类模板) 2.Class Loader类加载器只负责类的加载,角色就像“快递员”,可以有多种 3.加载之前是“小class”,加载之后就变成“大Class”,这是安装java.lang.Class模板生成的实例。大Class装载在方法区,模板实例化可以得到n个相同的实例对象 4.jvm通过文件开头的特定.
2020-09-16 15:34:02
223
原创 [机器学习实战学习笔记]-1机器学习基础
第一章 机器学习基础 1.监督学习 知道预测什么,即目标变量的分类信息。监督学习大致分成分类和回归。 分类主要用于预测离散型的数据,如0/1,红/黑/白。主要算法有:K-近邻算法、朴素贝叶斯算法、支持向量机、决策树; 回归主要用于预测数值型数据,如拟合曲线用的就是回归。常见的回归算法有:线性回归、局部加权线性回归、Ridge回归、Lasso最小回归系数估计等 2.无监督学习 数据没有类别信息,也不会给定目标值。主要分成聚类、密度估计。 聚类:将数据集合分成由类似的对象组成的多个类的过程称为聚类。常见算法:K
2020-07-08 16:21:19
166
原创 数据结构与算法-数组
1.首先记录下听完后最大的一个模糊的地方—数组越界问题 课件描述: 警惕数组的访问越界问题了解了数组的几个基本操作后,我们来聊聊数组访问越界的问题。首先,我请你来分析一下这段 C 语言代码的运行结果: int main(int argc, char* argv[]){ int i = 0; int arr[3] = {0}; for(; i<=3; i++){ arr[i] = 0; printf("hello world\n"); }
2020-06-29 22:40:07
339
原创 用科大讯飞API实现本地语音文件识别
今天看了下科大讯飞语音识别api,使用python对接口进行了调用。 科大讯飞在语音方面做得可以说不错的,接口调用也很是友好,可以对本地的语音文件进行识别测试,官方文档有不错的说明–语音转写API文档 1.首先需要在科大讯飞平台注册一个账号,进入控制台。 2.根据自己需要在选择语音识别一栏,创建一个应用。我选择的时语音转写—离线语音转写识别。 3.创建好应用后,在页面最下方,点击领取5小时免费试用体验包,期限是一个月。如下图 4.试用python的demo进行本地语音识别测试,python代码如下: 同
2020-06-23 20:18:37
7290
原创 Python基础5(文件操作)
Python基础— 文件 文章目录1.读取文件2.使用文件的内容3.写入文件 1.读取文件 with open('pi_digits.txt') as file_object: '''到当前目录中查找文件''' contents = file_object.read() print(contents) #read()到达文件末尾时返回一个空字符串,打印出来多一空行,要删除多余的空行,使用rstrip() # print(contents.rstrip()) '''相对路
2020-06-22 19:52:51
179
原创 Python基础4(函数和类)
Python基础4(函数和类) 文章目录函数类和对象继承 函数 #函数 返回字典 def build_person(first_name,last_name): person={'first':first_name,'last':last_name} return person musician=build_person('s','zq') print(musician) {'first': 's', 'last': 'zq'} def build_person(first_name
2020-06-22 11:40:00
212
原创 Python基础3(输入和循环)
python基础3 文章目录用户输入和while 用户输入和while # input 输入 字符串 name=input("please enter your name: ") print("welcome " + name) age=input("age== ") print(age) #字符串类型 age=int(age) #int()类型转换 print(age) prompt = "\nTell me something, and I will repeat
2020-06-22 11:08:20
215
原创 Python基础2(字典及其操作)
Python基础2 文章目录字典字典操作 字典 #### 5 字典 alien_0 = {'color':'green','points':5} print(alien_0) alien_0['x_position']=0 alien_0['y_position']=25 print(alien_0) alien_0['color']='yellow' print(alien_0['color']) #删除键值对 del alien_0['color'] print(alien_0) #遍历字典
2020-06-22 11:06:27
179
原创 Python基础1(简单数据类型+列表)
文章目录Python基础1变量和简单数据类型列表操作列表 Python基础1 这几天,回顾了一些Python基础. 变量和简单数据类型 ###2-变量和简单数据类型 name="ada lovelace" print(name.title()) #title()方法将字符串首字母改为大写 print(name.upper()) #upper 将字母全部转为大写字母 print(name.lower()) #lower转为小写字母 #2.3.2 合并字符串 f
2020-06-21 17:21:14
213
原创 数据结构---图
文章目录图1. 实现有向图、无向图的邻接矩阵和邻接表表示方法1.1 邻接矩阵表示无向图1.2 邻接矩阵表示有向图1.3 邻接表表示无向图1.4 邻接表表示有向图2. 实现图的深度优先搜索、广度优先搜索2.1 深度优先搜索2.2 广度优先搜索3. 实现 Dijkstra 算法、A* 算法3.1 Dijkstra 算法3.2 A* 算法4. 实现拓扑排序的 Kahn 算法、DFS 算法5. 对应的 L...
2019-03-14 09:57:20
243
原创 数据结构---二叉查找数与堆
文章目录一、二叉树1.1 实现一个二叉查找树,并且支持插入、删除、查找操作1.2 实现查找二叉查找树中某个节点的后继、前驱节点1.3 实现二叉树前、中、后序以及按层遍历二、堆2.1 小顶堆、大顶堆、优先级队列2.2 实现堆排序三、对应的 LeetCode 练习题3.1 Invert Binary Tree(翻转二叉树)3.2 Maximum Depth of Binary Tree(二叉树的最大深...
2019-03-12 10:11:56
284
原创 数据结构---散列表与字符串
文章目录一、散列表(哈希表)1.1 实现一个基于链表法解决冲突问题的散列表1.2 实现一个 LRU 缓存淘汰算法1.3 对应的 LeetCode 练习题二、字符串2.1 实现一个字符集,只包含 a~z 这 26 个英文字母的 Trie 树2.2 实现朴素的字符串匹配算法2.3 对应的 LeetCode 练习题 一、散列表(哈希表) 1.1 实现一个基于链表法解决冲突问题的散列表 (i) 拉链法解...
2019-03-10 20:41:28
570
原创 数据结构---排序与二分查找
排序与二分查找 文章目录**排序与二分查找**一、排序1.1 归并排序1.2 快速排序1.3 插入排序1.4 冒泡排序1.5 选择排序1.6 堆排序1.7leetcode上的返回滑动窗口中的最大值(239)1.8 编程实现 O(n) 时间复杂度内找到一组数据的第 K 大元素二、二分查找2.1 有序数组的二分查找2.2 模糊二分查找(比如大于等于给定值的第一个元素)2.3 LeetCode练习题 一...
2019-03-08 15:21:47
362
原创 数据结构---栈、队列、递归
数据结构之栈、队列、递归 文章目录数据结构之栈、队列、递归一、栈二、队列三、递归四、LeetCode练习题(未完待续···) 一、栈 1.用数组实现一个顺序栈 2.用链表实现一个链式栈 3.编程模拟实现一个浏览器的前进、后退功能 1.1用数组实现一个顺序栈 栈是一种特殊的线性表,插入和删除操作只能在栈顶进行,具有后进先出(LIFO)的特点。栈的实现,有两种存储结构,分别是顺序存储结构和链...
2019-03-07 17:01:45
485
原创 数据结构---数组与链表
数组与链表 文章目录数组与链表1.数组1.1实现一个支持动态扩容的数组1.2实现一个大小固定的有序数组,支持动态增删改操作1.3实现两个有序数组合并为一个有序数组1.4 leetcode-两数之和(1)、Happy Number(202)(用哈希思想实现!)1.4.1LeetCode: Two Sum 求解两数之和1.4.2 LeetCode 202 Happy Number2.链表2.1实现...
2019-03-07 16:53:00
251
原创 codeup-1008: ASCII码
概要 1. 题目描述 2. 思路分析 3. code 1.题目描述 相信大家一定都知道大名鼎鼎的ASCII码,这次给你的任务是输入数字(表示ASCII码),输出相对应的字符信息。 输入 第一行为一个整数T(1&lt;=T&lt;=1000)。 接下来包括T个正整数,由空白符分割。(空白符包括空格、换行、制表符) 这些整数不会小于32。 输出 在一行内输出相应的字符信息。(注意不要输出任何多余的字符...
2019-02-19 16:07:17
998
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅