Python画图之plt笔记

Python画图之plt笔记

引言实验结果需要可视化的时候,画图又变成了一个简单又复杂的且繁琐的工作。每次画图虽然大同小异,但是记不住代码,这次就把代码稍微整理一下,所用方法不具有普适性,仅供参考。plt.plot非常实用的画图函数,具体使用方法如下:import matplotlib.pyplot as plt import numpy as np #随机生成一组数用来画图。 x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] y = [0.1, 0.3, 0.2, 0.2, 0.6, 0.8, 0.9, 0.52, 0.3, 0.7] plt.plot(x, y) plt.show()当然...

2019-06-10 AM 52℃ 0条
医学图像处理及配准代码整理

医学图像处理及配准代码整理

医学图像处理开源库SimpleITK 安装方式 pip install SimpleITKMedPy 安装方式 pip install MedPy其中SimpleITK中包含了医学图像数据读取,输入,保存,配准,分割的模块,MedPy目前只介绍数据读入的模块(其他模块暂未使用)医学图像数据读入:import SimpleITK as sitk import medpy.io #数据读入: image = sitk.ReadImage('image_path') #此时读入的图像的格式是SimpleITK image的格式,包含了医学图像的信息,常用的有Spacing, Ori...

2019-04-23 AM 93℃ 0条
剑指offer刷题笔记之——变态跳台阶

剑指offer刷题笔记之——变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。问题分析根据题目描述,我们假设跳n级台阶有f(n)种跳法。每次可以跳1.....n级(1). 假设一次跳1级,那么剩下n-1级台阶,有f(n-1)种跳法(2). 假设一次跳2级,那么剩下n-2级台阶,有f(n-2)种跳法(3). 假设一次跳3级,那么剩下n-3级台阶,有f(n-3)种跳法....(n-1). 假设一次跳n-1级,那么剩下1级台阶,有f(1)种跳法(n-0). 假设一次跳n级,那么剩下0级台阶,有f(0)种跳法思路根据分析,我们知道,f(n) = f(n-1...

算法 2019-01-16 PM 44℃ 0条
剑指offer刷题笔记之——跳台阶

剑指offer刷题笔记之——跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。问题分析根据问题的描述,现在只有两种跳法,1级或者2级。n级台阶有f(n)级跳法。第一次跳1级台阶,那么剩下的就有n-1个台阶,那么跳法就是f(n-1)第一次跳2级台阶,那么剩下的就有n-2个台阶,那么跳法就是f(n-2)由上述1,2可得总跳法f(n) = f(n-1) + f(n-2)根据实际情况,f(1) = 1, f(2) = 2思路根据问题分析,这又是一个斐波那契数列问题,有以下公式 | 1, (n=1...

算法 2019-01-16 PM 37℃ 0条
剑指offer刷题笔记之——斐波那契数列

剑指offer刷题笔记之——斐波那契数列

题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39问题分析斐波那契额数公式为f(n) = f(n-1) + f(n-2),其中f(0) = 0, f(1) = 1。那么拿到这一题,首先想到的是递归。但是递归很明显会出现空间内存不够的情况。那么根据公式,使用最简单的迭代法即可。思路如果n = 0 或n = 1,返回对应值如果n = 2,则遍历到n所有的数,按照公式理解即可代码C++代码class Solution { public: int Fibonacci(int n) { if(n =...

算法 2019-01-14 PM 37℃ 0条
剑指offer刷题笔记之——旋转数组的最小数字

剑指offer刷题笔记之——旋转数组的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。问题分析旋转数组实际上可以划分为两个有序的子数组:前面的子数组的大小都大于后面子数组中的元素(或前面子数组最小值等于后面子数组的最大值)**。那么实际上最下元素就是两个子数组的分界线。本题目给出的数组一定程度上是有序的,因此使用二分查找法寻找这个最小的元素。思路使用两个指针,left,right分别指向数组的...

算法 2019-01-14 PM 44℃ 0条
剑指offer刷题笔记——用两个栈实现队列

剑指offer刷题笔记——用两个栈实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。问题分析根据栈先进后出的原则,队列先进先出的原则。如果用两个栈做队列,那么一个栈用来一次性存放数据,存入数据后在一次性全部弹入另一个栈中,另一个栈在弹出,则就可以实现先进先出的队列了。思路思路很简单,但是实际必须做到以下两点(摘自《程序员代码面试指南》)建立两个栈,stackPush和stackPop。一个用来压栈,一个用来弹栈,按照分析思路即可注意1:如果stackPush要往stackPop中压入数据,那么必须一次性把stackPush中的数据全部压入。注意2:如果stackPop不为空,st...

算法 2019-01-13 PM 43℃ 0条
剑指offer刷题笔记——重建二叉树

剑指offer刷题笔记——重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。问题分析根据树的前序遍历的规则:根->左->右,树的中序遍历规则:左->根->右。从前序遍历序列我们不难看出,1为根节点,结合中序遍历序列可以知道1左边的为左子树,1右边的为右子树。那么继续结合前序遍历和中序遍历序列,前序遍历可以分为{2,4,7}和{3,5,6,8}两个子序列,表示左子树的前序和右子树的前序。同理中序遍历可...

算法 2019-01-13 PM 43℃ 0条
剑指offer刷题笔记——从尾到头打印链表

剑指offer刷题笔记——从尾到头打印链表

题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。问题分析链表的遍历是顺序的遍历,需要从尾到头的打印链表,我们首先想到的就是栈的功能,先进后出。思路声明一个栈,从头开始遍历链表按照顺序对链表的每个节点进行压栈操作弹栈,完成从尾到头打印链表的操作了。代码C++代码class Solution { public: vector<int> printListFromTailToHead(ListNode* head) { vector <int> result; //用于存放结果的一个vector stack...

算法 2019-01-13 PM 41℃ 0条
剑指offer刷题笔记——替换空格

剑指offer刷题笔记——替换空格

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。问题分析根据问题,我们可以简单的有一个大概的思路。首先需要统计空格数量,替换应该从字符串尾端进行,新的字符串长度需要根据空格的数目重新确认。思路首先统计字符串的空格数目,记为count根据题目要求,空格替换为%20,那么原字符串长度为len, 新字符串长度为newlen = len + 2*count如果题目给定长度length(表示可以申请的最大空间)小于newlen,则表示空间不足,返回即可从len和newlen的尾端同...

算法 2019-01-12 PM 43℃ 0条
剑指Offer刷题笔记——二维数组中的查找

剑指Offer刷题笔记——二维数组中的查找

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。问题分析根据问题,我们可以简单的构想出数组大概的规律。由于右大于左,且下大于上。那么左上角一定是该数组中最小的元素,右下角一定是该数组中最大的元素。如果从这两个位置遍历整个数组,显然是最耗时的。所以我们可以想到,从左下角的元素和右上角的元素遍历。思路那么我们假定从左下角的元素开始遍历。设左下角的元素为a,目标元素为target。如果a == target,那么返回True。如果a > ...

算法 2019-01-12 PM 41℃ 0条