自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 TypeError: reduction operation 'argmin' not allowed for this dtype

TypeError: reduction operation 'argmin' not allowed for this dtype使用pd.read_sql() 方法把Mysql的数据库转为dataframe后,使用 df['low'].idxmin() 或者df['low'].argmin() 方法是会出现这个错误。 date = date + '-01-01' cmd = '...

2018-03-18 12:58:17 9952 3

原创 Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-f8m_zq/statsmod

pip安装工具时报错提醒:Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-f8m_zq/statsmod原因是安装工具包时需要抓取网页因而要处理 https,而处理 https 又依赖加解密算法(即 cryptography 包),而 cryptography 又依赖傅立叶变换...

2018-03-16 22:47:10 11909 2

原创 ARM程序异常返回操作

异常的发生会导致程序正常运行的被打断, 并将控制流转移到相应的异常处理(异常响应),有些异常(fiq、irq)事件处理后,系统还希望能回 到当初异常发生时被打断的源程序断点处继续完成源程序的执行(异常返回),这就需要一种解决方案, 用于记录源程序的断点位置,以便正确的异常返回。  类似的还有子程序的调用和 返回。在主程序中(通过子程序调用指令)调用子程序时,也需要记录下主程序中的调用点位置,以

2017-06-22 11:15:49 1595

原创 ARM体系结构CPSR-当前程序状态寄存器

CPSR有4个8位区域:标志域(F)、状态域(S)、扩展域(X)、控制域(C)MSR - Load specified fields of the CPSR or SPSR with an immediate constant, or from the contents of a general-purpose register.Syntax:MSR{cond} _

2017-06-21 11:11:37 1189

转载 树莓派拨号上网

我们知道,如果树莓派安装了官方Raspbian系统,默认是将有线网口设置为DHCP模式的,也就是可以自动获取IP,如果通过网线直接连接家里的无线路由器,树莓派就可以正常上网了。但是,如果你的家中没有路由器,只有有线宽带,而且是通过运营商提供的账号和密码上网的,那你的这种上网方式就属于PPPOE拨号上网。此时如果想要树莓派通过这根网线上网,树莓派就需要做一些必要的配置。按照以下的步骤进行操作,你就可

2017-05-09 17:29:15 3094

转载 错误:未报告的异常错误,必须对其进行捕获或声明以便抛出

错误:未报告的异常错误,必须对其进行捕获或声明以便抛出出现错误:是因为没有对异常进行捕获或声明 首先说一下Java 中throws的作用:假如函数部分有不合法的异常,例如分母为0:import java.util.Scanner;public class Helloexcept{ public static void main(St

2017-05-04 10:59:46 7681

原创 程序员面试经典--二叉查找树节点的“下一个结点”

4.6问题:设计一个算法,找出二叉树中指定的结点“下一个”结点(也即中序后继)。可以假定每个结点都含有指向父节点的链接。思考:回忆一下中序遍历,它会先遍历左子树,然后是当前节点,接着右子树,要解决这个问题需要非常小心。假定我们有一个假想的结点,先是左子树,然后是当前结点,最后就是右子树,目标结点当然是在右子树,那么是右子树的哪一个呢?很简单,就是右子树的最左边的那个结点。在这种情况

2017-04-22 11:03:08 612

原创 程序员面试经典--判断二叉查找树

4.5问题:实现一个函数,检查一棵树是否为二叉查找树。思考:方法一:看到此题,闪过的第一个想法就是中序遍历,将所有的元素复制到数组中,然后检查数组是否有序。这种解法要多用一点儿内存,大部分情况下都没问题。唯一的问题是,它无法处理树中的重复值。例如,该算法无法区分下面这两棵树,因为这两者的中序遍历是一样的。Valid BST [20.left = 20]Invalid BST [

2017-04-21 17:15:46 704

转载 Java包裹类

包装类,通过包装类可以把基本数据类型变为一个对象来使用比如int i = 5这是一个基本数据类型,并不是对象而Integer i = new Integer(5);则是一个对象,就是一个object类型,可以当作对象来处理了这个主要是如果你用到arraylist等只能传入object类型参数的类的时候,就需要用到包装类对基本数据类型进行一下包装。Java中许多存储和管理对象

2017-04-21 16:17:58 2029

原创 程序员面试经典--创建二叉树层结点链表

4.4问题:给定一棵二叉树,设计一个算法,创建含有某一深度上所有节点的链表(比如,若一棵树的深度为D,则会创建出D个链表)。思考:1、我们可以将前序遍历稍加修改,将leve+1传入下一个递归调用。下面是使用深度优先搜索的实现代码。 public void createLevelLinkedList(Node root,ArrayList> lists,int level){//先序

2017-04-21 14:45:10 564

转载 ArrayList和LinkedList的区别

ArrayList和LinkedList的大致区别如下:1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

2017-04-21 09:23:14 337

原创 程序员面试经典--创建最小二叉查找树

4.3问题:给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉查找树。思考:要创建一棵高度最小的树,就必须让左右子树的节点数量越接近越好,也就是说,我们要让数组中间的值成为根结点,这么一来,数组左边一半就成为左子树,右边一半成为右子树。运用createMinimalBST方法,递归的方式,这个方法会传入数组的一个区段,并返回最小树的根结点。该算

2017-04-20 19:17:35 568

原创 深度优先搜索和广度优先搜索

(DFS)深度优先搜索,伪代码如下:void DFS_search(Node root){ if(root==null) return; visit(root);//例如打印该结点。 root.visited=true;//visited 布尔类型变量,用于标识该结点是否被访问过。 foreach(Node n in root.adjacent){//遍历该结点的所有邻接结点。 i

2017-04-20 14:06:52 471

转载 java中queue的使用

Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接 口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法 了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。BlockingQueue 继承了Q

2017-04-20 11:06:00 887

原创 程序员面试经典--有向图路径验证

4.2问题:给定有向图,设计一个算法,找出两个节点之间是否存在一条路径。思考:只需通过图的遍历,比如深度优先搜索或广度优先搜索等,就能解决这个问题。我们从两个节点的其中一个出发,在遍历过程中,检查是否找到另一个结点。在这个算法中,访问过的结点都应标记为“已访问”,以免重复访问结点。关于邻接表与图的基本实现与操作:import java.util.*;/** * 邻

2017-04-20 10:17:04 896

转载 Java中length()、length和size()的区别

1 Java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法.3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看! 这个例子来演示这两个

2017-04-20 10:06:15 651

转载 枚举类型占内存大小

既然,struct结构体变量大小等于结构体中的各个成员变量所占内存大小总和,union共用体变量大小等于共用体结构中占用内存最大的成员的内存大小。那么enum枚举变量所占内存大小怎么计算?首先先明白概念:数据类型,指固定内存大小的别名,如int类型为4个字节内存。变量,一段连续存储空间的别名。这段连续存储空间的大小,即变量的大小,由定义该变量的数据类型决

2017-04-19 16:39:53 4222

原创 图与邻接链表--极简形式

这里用Java简单实现了一个4个结点的有向、无权重、无数值的简易图。如下:import java.util.*;// 邻接表中表对应的链表的结点class ENode { int ivex; // 该边所指向的顶点的位置 ENode nextEdge; // 指向下一条弧的指针 ENode(int a){ ivex=a;nextEdge=null; }}

2017-04-18 22:09:17 846

原创 邻接链表与图及其相关操作--Java

找了好久的关于图的邻接链表存储结构,这个是最满意的。一来方便自己以后查找使用,二来分享给大家。package Graph;import java.util.ArrayList;import java.util.List;/** * 邻接表实现的图 * @author ctk * */public class ListGraph { private List gNodes

2017-04-18 22:03:13 1380

转载 图的存储结构与搜索

图与搜索图是什么    图,顾名思义,就是一张大大的网,网中的每个节点都与另外一个节点直接或者间接的联系。互联网就是一个大大的图,从A到B到C经过的路由,就是图的搜索算法。    要给图下一个定义,那就是在众多离散节点中可以产生回路的数据结构。比之线性数据结构的单线特性,树形结构的多路分叉特性,图的最大特点就是有回路的树形结构。图可以表示很多具体的事物,它是现实

2017-04-18 21:21:52 822

原创 程序员面试经典--检查二叉树是否平衡

4.1问题:实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个结点,其两棵子树的高度差不超过1.思考:可以直接递归访问整颗树,计算每个结点的两棵子树的高度。 public static int getHeight(Node root){ //获取二叉树的深度 if(root == null){ return 0;//终止条件 } retur

2017-04-15 22:47:50 593

原创 java--从txt文件中读取完全二叉树数据建立二叉树并打印出遍历结果

详细看注释:import java.io.*;import javax.swing.JOptionPane;import java.util.*;/** * 功能:读入文件里的数据存入二叉树中,然后进行3种方式的遍历 * * 参考资料0:数据结构(C语言版)严蔚敏 */ /** * 外部类:节点 * * @author [email protected] @date

2017-04-15 21:26:45 3212 1

原创 java字节文件输入流读文件

在下面程序中,读取一个文本文件,并将其显示到对话框上。在编写程序前必须知道两件事:1、怎样把一个流与一个文件联系起来。2、用什么方法把从文件中读取的数据显示到对话框中。import java.io.*;import javax.swing.JOptionPane;class Example8_1{ public static void main(String args[]){

2017-04-15 21:22:49 1455

原创 Java中try、catch、finally的用法

Java中try,catch,finally的用法,以前感觉还算熟悉,但看到一篇博文才有更深点的理解,总结网友博客如下。Java异常处理的组合方式:1.try+catch 运行流程:运行到try块中,如果有异常抛出,则转到catch块去处理。然后执行catch块后面的语句 2.try+catch+finally 运行流程:运行到try块中,如果有异常抛出,则转到

2017-04-14 15:52:49 8222 1

原创 程序员面试经典--动物收容所

3.7问题:有家动物收容所只收容狗与猫,且严格遵守“先进先出”的原则。在收养该收容所的动物时,收养人只能收养所有动物中“最老”(根据进入收容所的时间长短)的动物,或者,可以挑选猫或狗(同时必须收养此类动物中“最老”的)。换言之,收养人不能自由挑选想收养的对象。请创建适用于这个系统的数据结构,实现各种操作方法,比如enqueue、dequeueany、dequeuedog和dequeuecat等

2017-04-12 21:33:24 667

转载 java linkedlist操作详解

目录(?)[+]1 使用方法  LinkedList基于双端链表实现,可以作为栈、队列或者双端队列使用。public class LinkedListE> extends AbstractSequentialListE> implements ListE>, DequeE>, Cloneable, java.io.Serializable123123

2017-04-12 16:07:26 1769

原创 程序员面试经典--栈排序

3.6问题:编写程序,按升序对栈进行排序(即最大元素位于栈顶)。最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中(如数组)。思考:待排序栈s1,将自己的数据从栈顶不断的出栈按升序插入临时数据栈s2。插入操作时,可将s1作为缓冲,直到插入操作完成。import java.util.*;class sort{ public static void main(S

2017-04-12 15:34:10 522

原创 程序员面试经典--用栈实现队列

3.5问题:实现一个MyQueue类,该类用两个栈来实现一个队列。思想:定义两个栈,stackNewest和stackOldest,stackNewest顶端为最新元素,stackOldest顶端为最旧元素。在将一个元素出列时,我们希望先移除最旧元素,因此先将元素从stackOldest出列。若stackOldest为空,则将stackNewest中的所有元素以相反的顺序转移到stac

2017-04-12 13:54:32 541

转载 java.util.Stack里Stack默认容量有多大?

如果是java.util.Stack的话,通过查看源码,Stack只有一个空构造方法,它继承了Vector。Vector中的无参构造如下:public Vector() { this(10);}this(10)调用了public Vector(int initialCapacity) { this(initialCapacity, 0);}查看注释,/** *

2017-04-11 21:59:34 3811

原创 程序员面试经典--汉诺塔

3.4问题:在经典汉诺塔中,有三根柱子以及N个不同大小的穿孔圆盘,盘子可以化入任意一根柱子。一开始,所有 盘子自底向上从大到小一次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时有以下限制:  1、每次只能移动一个盘子;  2、盘子只能从柱子顶端滑出移到下一根柱子;  3、盘子只能叠在比它大的盘子上。请运用栈,编写程序将所有盘子从第一根柱子移到最后一根柱子。

2017-04-11 21:34:24 923

原创 程序员面试经典--栈实现堆盘子

3.3问题:设想有一堆盘子,堆太高可能会倒下来。因此,在显示生活中,盘子堆到一定高度时,我们就会另外堆一堆盘子。请实现数据结构SetOfStacks,模拟这种行为。setOfStacks应该由多个栈组成,并且在当前一个栈填满时新建一个栈。此外,SetOfStacks.push()和SeOfStacks.pop()应该与普通栈的操作方法相同(也就是说,pop()返回的值,应该跟只有一个栈时的情况

2017-04-11 20:34:12 609

转载 Java中ArrayList类的用法

Java中ArrayList类的用法1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小2、如何使用ArrayList 最简单的例子: ArrayList List = new ArrayLi

2017-04-11 18:16:44 238

原创 程序员面试经典--返回栈中最小元素

3.2问题:请设计一个栈,除去pop与push方法,还支持min方法,可返回栈元素中的最小值。push、pop和min三个方法的时间复杂度必须为O(1)。思考:一种解法是,在Stack类里添加一个int型的minvalue。当minvalue出栈时,我们会搜索整个栈,找出新的最小值。可惜,这不符合入栈出栈时间复杂度O(1)的要求。另一种解法,就是每次入栈都要记下这个状态下的最小值。

2017-04-11 16:54:38 724

原创 程序员面试经典--链表回文判断

2.7问题:编写一个函数,检查链表是否为回文。思考:若链表长度未知,可用快慢runner指针的方法,迭代访问链表将链表的前半部分入栈,然后将栈内的数据与链表的后半部分进行对比。import java.util.*;//节点类class Node { protected Node next; //指针域 protected int data;//数据域 public N

2017-04-10 10:50:42 397

原创 程序员面试经典--链表环路检测与入口结点返回

2.6问题:给定一个有环链表,实现一个算法返回环路的开头结点。思考:第一:监测链表是否存在环路。有一种简单的方法叫做fastrunner/slowrunner法。fastruner一次移动两步,slowrunner一次移动一步。如果存在环路,最终必然会碰到一起。第二:什么时候碰到一起?    1、slowrunner处于环路中的0步位置;    2、fastrunner处于

2017-04-09 19:33:15 788

原创 程序员面试经典--双链表求和

2.5问题:给定两个用链表表示的数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。思考:递归思想,非常巧妙,需仔细分析思考,递归多次,每次都会创建一个节点,反馈给上一级,上一级的链表结点指针指向下一级创建的结点。当多级递归完成时,就会返回这个链表的首结点。完成运算。import java.util.*;//节点类

2017-04-09 16:03:32 474

原创 程序员面试经典--链表分割

2.4问题:编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排列在大于或等于x的结点之前。思考:可以直接创建两个链表,一个链表存放小于x的元素,另一个链表存放大于或等于x的元素。迭代访问整个链表之后,合并两个链表即可。import java.util.*;//节点类class Node { protected Node next; //指针域 protect

2017-04-09 11:14:25 402

转载 递归和迭代

递归和迭代都是循环中的一种。简单地说,递归是重复调用函数自身实现循环。迭代是函数内某段代码实现循环,而迭代与普通循环的区别是:循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。递归循环中,遇到满足终止条件的情况时逐层返回来结束。迭代则使用计数器结束循环。当然很多情况都是多种循环混合采用,这要根据具体需求。使用递归要注意的

2017-04-08 21:21:52 434

原创 程序员面试经典--删除结点(仅能访问该结点)

2.3问题:实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。思考:题目给出,访问不到链表首结点,只能访问那个待删除结点。可以将该结点的后继结点数据拷贝到当前结点,然后删除这个后继结点。import java.util.*;//节点类class Node { protected Node next; //指针域 protected int data;//

2017-04-08 20:56:42 375

原创 程序员面试经典--链表节点查找

2.2问题:实现一个算法,找出单向链表中倒数第k个节点。链表数据:import java.util.*;//节点类class Node { protected Node next; //指针域 protected int data;//数据域 public Node( int data) { this.data = data; } //显示此节点 pu

2017-04-08 19:32:09 490

空空如也

空空如也

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

TA关注的人

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