自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 数据结构之线性表

线性表,全名为线性存储结构。使用线性表存储数据的方式可以这样理解,即“把所有数据用一根线儿串起来,再存储到物理空间中”。线性表存储数据可细分为顺序存储结构和链式存储结构。一、顺序存储结构和链式存储结构:将数据依次存储在连续的物理空间中,这种存储结构称为顺序存储结构(简称顺序表); 将数据分散的存储在物理空间中,通过一根线保存着它们之间的逻辑关系,这种存储结构称为链式存储结构(简称链表)。前驱和后继:数据结构中,一组数据中的每个个体被称为“数据元素”(简称“元素”)。例如,下图 显示的这组

2021-03-17 21:20:26 236 1

转载 常见排序算法及其对应的时间复杂度、空间复杂度

常见排序算法及其对应的时间复杂度、空间复杂度:排序算法经过长时间演变,大体可以分为两类:内排序和外排序。在排序过程中,全部记录存放在内存,则成为内排序;如果排序过程中需要使用外存,则称为外排序,本文讲的都属于内排序。内排序有可以分为以下几类: (1)插入排序:直接插入排序、二分法插入排序、希尔排序 (2)选择排序:直接选择排序、堆排序 (3)交换排序:冒泡排序、快速排序 (4)归并排序 (5)基数排序一、插入排序•思想:每步将一个待排序的...

2021-03-04 21:05:31 5597 1

转载 时间复杂度+空间复杂度

写在前面:此文源自公众号:程序员小灰 。同时转自博主《12 26 25》、《不止思考(奎哥)》文章,转载链接文后一并放出,文章清晰明了,po出来与大家共同学习,如有侵权,请留言联系,本人定及时删除!正文:算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢?主要还是从算法所占用的「时间」和「空间」两个维度去考量。时间维度:是

2021-03-04 20:35:19 459 1

原创 二分查找(递归实现+非递归实现)

二分查找,又称折半查找(Binary Search),是一种效率较高的查找方法。二分查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。步骤描述:首先确定整个查找区间最中间位置mid=start+(end-start)/2; 将处于表中间位置的关键字arr[mid]与所需查找的关键字key进行比较; 若key=arr[mid],则查找成功;若key<arr[mid],则在前(左)半个区域继续进行二分查找;若key>arr[mid],则在后(右)半个区域继续进行二分查找;

2021-03-03 11:04:01 444

转载 利用深度学习进行时间序列预测

作者|Christophe Pere编译|VK来源|Towards Datas Science介绍长期以来,我听说时间序列问题只能用统计方法(AR[1],AM[2],ARMA[3],ARIMA[4])。这些技术通常被数学家使用,他们试图不断改进这些技术来约束平稳和非平稳的时间序列。几个月前,我的一个朋友(数学家、统计学教授、非平稳时间序列专家)提出让我研究如何验证和改进重建恒星光照曲线的技术。事实上,开普勒卫星[11]和其他许多卫星一样,无法连续测量附近恒星的光通量强度。开普勒卫星在20

2020-10-19 21:35:08 930

原创 腾讯会议共享PPT使用演讲者模式

前言无论毕业答辩还是学术报告抑或是女朋友的公考大佬经验分享会????,现在清一色都改成了在线会议。如果是平时使用投影仪演讲时,我们讲PPT便可以使用演讲者模式,这样就可以对着电脑愉快地念备注了。但,问题来了!!!一旦用腾讯会议的共享桌面放映PPT时,就用不到PPT双屏时候的演讲者模式了!!这对于我们这样看注释的念稿党来说无疑深受打击。经过一番折腾,发现了一个可以使用演讲者模式的方法。那么如何实现腾讯会议共享屏幕播放PPT时只有在自己电脑上可看到PPT的备注?稍等,待我为你细细道来!1、共享屏

2020-09-01 10:25:17 32330 6

转载 张一鸣:技术与人文、责任与价值观之间到底是什么关系?

如果你印象中习惯了神采飞扬趾高气昂高瞻远瞩的霸道总裁,张一鸣恐怕会让你感到意外。对于一家110亿美元公司的创始人而言,他显得太年轻和安静——甚至有些乖巧。他的同事们告诉《财经》,这位CEO最激烈的情绪表达方式不过是“这个事情怎么会这样?”在今天中国,创业公司Founder的数量可能要以百万计算,而张一鸣无疑是其中最幸运的两三人之一。他和他的两位朋友所创立的3家公司被认为是最有可能向中国互联网统治者——BAT发起挑战的胜利同盟,另外两家分别是美团点评和滴滴。这三家公司创立都不超过6年,估值均超过百亿美

2020-06-13 23:14:10 1946

转载 张一鸣:我的大学四年收获及工作感悟

在生活工作当中,我们经常会发现:为什么有的年轻人创业越做越大,有的年轻人创业却越做越小?为什么同时进入职场的年轻人,两三年后达到的高度可能相差甚远?一个优秀的年轻人,和一个普通的年轻人之间,到底有什么区别?张一鸣先生的这篇深度总结,应该能给你很多思考。大学里的三点收获2001年我考入了南开大学,起初大学的生活是让人有点失落的,但慢慢地从安静朴素的校园和踏实努力的氛围中,我还是找到了自己的节奏。大学期间我主要在做三件事情 ,一是写代码,因为我是搞技术的;二是看书,看了很多很多书;三是修电脑。基于此..

2020-06-13 23:03:33 346

原创 数组模拟队列——Java实现

队列简介:队列是一种有序列表,可以用数组或链表来实现。遵循先入先出的原则,即:先存入队列的数据,要先取出,后存入队列的数据的要后取出。在队列中,允许插入数据的一端叫做队尾(rear),允许取出数据的一端则称为队头(front)。使用数组模拟队列示意图如下:数组模拟队列的思路:队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如上图,其中maxSize 是该队列的最大容量。 因为队列的输出、输入是分别从前后端来处理,因此需要两个变量front及rear分别记录队列前后端的

2020-05-25 21:38:50 214

原创 稀疏数组与普通数组的转换——Java实现

稀疏数组简介:所谓稀疏数组就是当数组中大部分的内容值都未被使用(或都为零),在数组中仅有少部分的空间使用。因此造成内存空间的浪费,为了节省内存空间,并且不影响数组中原有的内容值,我们可以使用稀疏数组去压缩数据。讲一个实际需求中的例子:现在要编写一个五子棋程序,这便有存盘退出和续上盘的功能,而我们需要用二维数组记录棋盘。用1代表黑子,用2代表蓝子,空白位置用0表示:问题分析:因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据,所以可采用稀疏数组来压缩数据。稀疏数组适用场景:当一

2020-05-23 21:39:39 283

转载 二叉堆(Heap)与二叉查找树(Binary Search Tree)的区别

问题描述通常我们在学习二叉堆和二叉查找树时是很容易混淆的,虽说堆也是一种完全二叉树,但二者差别还是挺大的,本文试做分析。逻辑结构二叉堆和二叉查找树都是结点带权重,并在父子结点间满足某种规则的数据结构。二叉堆是一种完全二叉树,分大根堆、小根堆两种,子结点总是大于或小于父结点。大根堆,顾名思义,根是最大的,每个子结点都要小于父结点,不区分左右儿子谁大谁小,也不必保证某个“孙子结点”一定要小于另一个“儿子结点”。小根堆恰恰相反,根是最小的,每个子结点都要大于父结点,不区分左右儿子谁大谁小,也不

2020-05-08 22:55:59 3451

原创 线性查找(linearSearch)与二分查找(binarySearch)比较—Java实现

一、线性查找(顺序查找)定义:在一列给定的值中进行搜索,从一端开始逐一检查每个元素,直到找到所需元素的过程。算法要求:1.数据存储顺序没有限制;2.存储数据类型没有限制。代码实现:/** * 线性查找:顺序查找法;在给定的一列数组中,一个个查询需要的内容。 * 如果找到返回下标,如果没有找到,返回-1. */import java.util.Scanner;public class LinearSearch { public static void main(String[]

2020-05-08 19:06:46 1091 1

原创 Java中Arrays.toString(a)与a.toString()的区别

1.Arrays.toString(a)方法是是用来将数组转换成String类型输出,入参可以是long,float,double,int,boolean,byte,object型的数组,使用此方法可以很方便地输出数组,而不用一个一个地输出数组元素。2.a.toString()方法只会打印出数组的地址。...

2020-05-07 22:11:07 2879 2

转载 快速排序(Quick Sort)-Java实现

高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放...

2020-05-06 12:15:15 269

转载 归并排序(Selection Sort)-Java实现

归并排序(Merge Sort)算法简介:归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治策略(Divide and Conquer)(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序...

2020-05-04 23:50:21 184

转载 堆排序(Heap Sort)-Java实现

堆排序(Heap Sort)算法简介:堆排序是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序分为两种方法:大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列; 小顶堆:每个节点的值都小于或等于其子节点的值,在堆排序算法中用于降序排列;堆排序(Heap Sort...

2020-05-04 23:08:51 351

原创 插入排序(Insertion Sort)-Java实现

插入排序(Insertion Sort)算法简介:插入排序是一种丛序列左端开始依次对数据进行排序的算法。在排序过程中,左侧的数据陆续归位,而右侧留下的就是还未被排序的数据。插入排序(Insertion Sort)算法原理:插人排序的思路就是从右侧的未排序区域内取出一个数据,然后将它插入到已排序区域内合适的位置上。插入排序就类似排纸牌,从牌桌上抓牌排在手里,手里的牌始终是有序的,每次都把...

2020-05-02 22:29:53 712

原创 选择排序(Selection Sort)-Java实现

选择排序(Selection Sort)算法简介: 选择排序是利用逐个选择的方式进行排序,逐个选择出数组中的最小(或最大)的元素,顺序放在已排好序的序列后面,直到全部记录排序完毕。选择排序(Selection Sort)算法原理:例如我们有一个数组,我们需要把较小的元素排在前面,把较大的元素排在后面,那么需要选择出最小元素并将其排在序列最前:从待排序列中选出最小(或最大)的一个元...

2020-05-02 18:56:29 1008

原创 冒泡排序(Bubble Sort)-Java实现

冒泡排序(Bubble Sort)算法简介:冒泡排序是一种常见的交换排序。在这个过程中,数字会像泡泡一样,慢慢从右往左“浮”到序列的顶端,所以这个算法才被称为“冒泡排序”。其基本思想是两两比较相邻记录,如果反序则交换,直到没有反序的记录为止。冒泡排序(Bubble Sort)算法原理:例如我们有一个数组,我们需要把较小的元素排在前面,把较大的元素排在后面,那么需要从尾部到尾头部开始比较...

2020-04-29 19:07:06 360

原创 判断一个字符串是否为回文字符串—Java实现

简单字符串判断(只考虑包括字母,数字的字符串):回文定义:“回文字符串”就是正读倒读都一样的字符串。如字符串“Abcd121dcba”是一段回文字符串。实现方法:将字符串分成两部分并转换为字符数组,从字符串数组的两端逐个进行比较。实现代码:public class Demo { public static void main(String[] args) { String...

2020-04-24 00:02:21 3856

原创 常规有序数组二分查找和旋转有序数组二分查找—Java实现

常规有序数组二分查找二分查找又称折半查找(Binary Search),是一种效率较高的查找方法。二分查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。查找过程:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一...

2020-04-23 22:05:36 299 1

原创 颠倒数组元素的顺序—Java实现

颠倒数组元素的顺序—Java实现public class Demo { public static void main(String[] args) { int[] arr= {1,3,15,7,18,2,24,6,8,35,6,34,10}; reverse(arr); for(int i=0;i<arr.length;i++) { System.out.prin...

2020-04-23 08:52:48 471

原创 找出数组中最大的元素—Java实现

找出数组中最大的元素—Java实现public class Demo { public static void main(String[] args) { int[] arr= {1,3,15,7,18,2,24,6,8,35,6,34,10,}; System.out.print(PrintMax(arr)); } public static int PrintMax(int...

2020-04-22 23:08:09 547

原创 欧几里得算法原理—Java实现

欧几里得算法:又名辗转相除法,欧几里德算法是用来求两个非负整数最大公约数的算法。其计算原理依赖的定理:两个非负整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。其具体计算方法为:用两数中的较大数p除以较小数q,再用出现的余数r1去除除数q,再用出现的余数r2去除余数r1,如此反复,直到最后余数是0为止,最后的除数就是这两个数的最大公约数。举例说明:利用欧几里得算法求两...

2020-04-22 21:27:29 553

原创 《Python数据分析与挖掘实战》代码纠错4-3

最近在学习张良均老师的《Python数据分析与挖掘实战》,发现部分代码存在错误,特分享调试好的代码,供学习参考。代码清单4-3 数据离散化书本代码:#-*- coding: utf-8 -*-#数据规范化import pandas as pddatafile = '../data/discretization_data.xls' #参数初始化data = pd.read_e...

2020-01-14 23:33:02 1071 4

原创 《Python数据分析与挖掘实战》代码纠错4-1

最近在学习张良均老师的《Python数据分析与挖掘实战》,发现部分代码存在错误,特分享调试好的代码,供学习参考。代码清单4-1 用拉格朗日法进行插补书本代码:#拉格朗日插值代码import pandas as pd #导入数据分析库Pandasfrom scipy.interpolate import lagrange #导入拉格朗日插值函数inputfile = '../d...

2020-01-14 20:03:09 1749 2

原创 《Python数据分析与挖掘实战》代码纠错3-3

最近在学习张良均老师的《Python数据分析与挖掘实战》,发现部分代码存在错误,特分享调试好的代码,供学习参考。代码清单3-3 菜品盈利帕累托图代码书本代码:#-*- coding: utf-8 -*-#菜品盈利数据 帕累托图from __future__ import print_functionimport pandas as pd#初始化参数dish_profit ...

2020-01-14 18:45:23 442 2

原创 《Python数据分析与挖掘实战》代码纠错3-1

最近在学习张良均老师的《Python数据分析与挖掘实战》,发现部分代码存在错误,特分享调试好的代码,供学习参考。代码清单3-1 餐饮销额数据异常值检测代码书本代码:#-*- coding: utf-8 -*-import pandas as pdcatering_sale = '../data/catering_sale.xls' #餐饮数据data = pd.read_ex...

2020-01-14 17:15:08 562

转载 计算机视觉入门 拜读

目录简介方向热点简介计算机视觉(Computer Vision)又称为机器视觉(Machine Vision),顾名思义...

2019-09-03 14:30:14 558

转载 计算机视觉方向博士科研学习总结 拜读

转载来源:https://blog.csdn.net/gdengden/article/details/80365518 ...

2019-09-03 11:33:46 1999

空空如也

空空如也

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

TA关注的人

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