自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 flask-restful 和 blueprint

api.route('/posts/',methods=['get','post']) 方式注册路由@permission_required(Permission.WRITE)api.add_resource(HelloworldResource,'/') 方式完成restful请求,flask_restful可以直接返回字典。flask-restful 使用 flask-restful第三方库 from flask_restful import Resource, Api。

2023-04-19 13:20:02 587

原创 【无标题】

rewrewr

2022-08-25 20:40:39 94

原创 剑指offer 算法2 替换空格(python)

# -*- coding:utf-8 -*-class Solution:    # s 源字符串    def replaceSpace(self, s):        a = len(s)         if a == 0:            return ""        else:            newstr = []            for i ...

2019-02-21 21:42:16 138

原创 linux中创建requirements.txt文件用于记录所有依赖包以及其精确版本号,以便在新的环境中进行部署操作

在当前的虚拟环境中使用以下命令将当前虚拟环境中的依赖包以版本号生成至文件中:$ pip freeze >requirements.txt当需要创建这个虚拟环境的完全副本,可以创建一个新的虚拟环境,并在其上运行以下命令:$ pip install -r requirements.txt...

2018-12-05 14:14:12 1382

原创 最短路径问题(shortest-path problem)

步骤:(1)使用图来建立问题模型;(2)使用广度优先搜索解决问题A. 图(Graph)是由节点(node)和边(edge)组成。相邻节点互成为邻居。B. 广度优先搜索算法(Breadth-First Search,BFS)是一种用于图的查找算法。广度优先搜索算法可解决两类问题:1)从图中节点A出发,找前往节点B的路径;2)从图中节点A出大,找前往节点B的最短路径一、回到第一个问题:案...

2018-12-04 11:25:04 1448

原创 散列表

1.散列函数:将输入映射到数字;需要满足的要求是:1)它必须是一致的,即当输入相同时,输出也是相同的;2)将不同的输入映射到不同的数字;2. 散列表也被称为散列映射、映射、字典和关联数组;任何一门语言都提供了散列的实现,其中python提供字典来创建散列表,散列表由键和值组成。3. 散列函数的应用:1)用于查找,例如创建电话簿;// 创建字典>>>phone_boo...

2018-12-04 09:32:41 105

原创 快速排序算法

使用递归函数实现数组快速排序算法基线条件是:数组为空或只包含一个元素;这种条件下只需要返回原来数组即可。//python实现数组的快速排序def quicksort(array): if len(array)<2: return array #基线条件:为空或者只包含一个元素的数组是有序的 else: pivot = ar...

2018-12-03 22:05:00 99

原创 编写程序使用递归方法实现找出列表中最大的数字

//找出列表中最大的数字def max(list): if len(list) == 2: if list[0]>list[1]: return list[0] else: return list[1] sub_max = max(list[1:]) if list[0] > su...

2018-12-03 21:38:49 1500 1

原创 编写一个递归函数来计算列表包含的元素数

// 计算列表元素个数def lenList(list): if list == []: return 0 else: return 1+lenList(list[1:])print(lenList([1,2,3]))#输出3

2018-12-03 21:13:37 2693 1

原创 分而自治算法(D&C(Divide and conquer)):快速排序问题

D&C工作原理:(1)找出简单的基线条件;(2)确定如何缩小问题的规模,使其符合基线条件;// 利用D&C实现列表求和def sum(list): if list == []: return 0 else: return list[0]+sum(list[1:]) print(sum[1,2,3,4])#输出10 ...

2018-12-03 20:59:46 414

原创 python实现递归调用栈

//计算阶乘的递归函数def fact(n): if n == 1: return 1 else: return n*fact(n-1)print(fact(6))#输出720

2018-12-03 20:34:17 417

原创 数据结构中的栈问题

1.首先,栈的定义:栈(stack)又名堆栈,是一种线性表。仅允许在表的一端进行插入和删除运算。2.栈的操作:先进后出原则,先进入的数据被压入栈低(push),最后的数据在栈顶;系统需要读取数据时,从栈顶弹出数据(pop).3.做递归时要用到栈!eg:// 调用栈def green(name): print("Hello, "+name+"!") green2(name)...

2018-12-03 20:27:38 450

原创 递归函数

每一个递归函数都有两个部分:基线条件(base case)和递归条件(recursive case).基线条件:函数不再调用自己,避免无限循环;递归条件:函数调用自己;eg:// 简单递归函数def countdown(i): print(i) if i<0: #基线条件 return else: ...

2018-12-03 20:12:02 130

原创 算法递归问题

// 递归案例伪算法def look_for_key(box): for item in box: if item.is_a_box(): look_for_key(item) #递归! elif item.is_a_key(): print ("found the key!")...

2018-12-03 20:04:45 124

转载 python实现选择算法

// python实现选择排序# 定义选择最大值的函数def selectionSortFunction(list): newlist=[] for i in range(len(lsit)): maxOne = max(list) newlist.append(maxOne) list.remove(one) retur...

2018-12-03 11:20:39 634 1

原创 算法常见的大O运行时间

O(log n):对数时间,这样的算法包括二分查找。O(n):线性时间,这样的算法包括简单查找。O(n * log n):这样的算法包括快速排序。O(n2):这样的算法包括选择排序。O(n!):这样的算法包括旅行商问题的解决方案。...

2018-12-02 21:57:32 580

原创 python二分法算法

// python二分法算法def binary_search(list,item): //列表list中搜索item元素 low = 0 high = len(list) - 1 while low < item: mid = int((high+low)/2) guess = list[mid] if...

2018-12-02 21:32:16 133

原创 栈与堆

int num = 90; //栈区,变量名,数组名,指针名全部在栈区;double * Array = new double[10]; //左边在栈区,右边在堆区,真正的空间位于堆区,将地址名(变量名)保存在栈区;使用栈:栈区速度快、没有内存空间、简单;使用堆:真正工作、有内存空间、较为麻烦; ...

2018-11-30 10:38:56 95

原创 C++动态分配内存

//在运行阶段为一个int值分配未命名的内存int * ptr_int = new int;使用delete释放内存,与new配对使用delete ptr_int; //释放由new分配的内存 

2018-11-30 09:47:44 80

原创 数组与指针小结

数组名就是这块连续内存单元的首地址int num[50]; //num是数组名,也可以理解成数组的首地址num的值与&num[0]的值是相同的数组第i+1个元素可以表示为:第i+1个元素的地址:&num[ i + 1]或num + i;第i+1个元素的值:num[i+1] 或*(num + i + 1),同样尝试*++ptr_num为指向数组的指针赋值:...

2018-11-30 09:35:31 138

原创 指针的递增和递减(++、--)理解成指针的平移

int i;double score[5] {98,87,65,43,76};double * ptr_score;ptr_score = score;for(i=0;i<5;i++){     cout<<*ptr_score++<<endl; } 

2018-11-30 09:07:03 569 1

原创 C++ 中指针与数组之间的区别

double score[] {11,22,33,44}double * ptr_score = score;指针(地址本身占4和字节)占四个字节,即sizeof(ptr_score) 的值是4;而sizeof(score)的值是32;’

2018-11-30 08:58:20 109

原创 Chapter 10 c++指针(pointer)

指针是一个值为内存地址的变量基本用法:1. 声明及初始化指针变量数据类型*指针变量名;int *ptr_num;   可以理解为int * 数据类型为整型的指针,其变量名是ptr_num;float *money_ptr; int num = 10;int * ptr_num;ptr_num = #2. 注意:int* p的写法偏向于地址,即p就...

2018-11-23 19:16:20 51

原创 c++ Chapter9.5 数组小结

1. 数组是可以在内存中连续存储多个元素的结构   数组中所有元素必须属于相同的数据类型  int  nums[] = {1,2,3} 该数组的类型是int []2. 数组必须先声明,然后才能使用   数组的声明只是为该数组留出内存空间3. 数组的元素通过数组下标访问一维数组可以用一个循环动态初始化,二维数组可以用嵌套循环动态地初始化double  nums[] = {...

2018-11-23 10:59:00 126

原创 Chapter9.4 数组的替代品 向量容器vector,是一个快速的动态分配内存的数组

1.动态数组,可以在运行阶段设置长度;而静态数组的长度是常量;2.向量容器vector具有数组的快速索引方式;3.可以插入和删除元素;向量容器vector的定义和初始化vector<double>vec1; /**向量容器的名称是vec1,里面放置double类型的元素;*/vector<string>vec2(5); /**向量容器的名称是vec2,里...

2018-11-23 10:40:30 106

原创 Chapter 9 二维数组

一维数组描述的是一条线,二维数组描述的是一个平面;二维数组的语法:datatype name[rowSize][colSize];  //行、列;double score[5][3];int animate[4][4]; 

2018-11-22 22:43:10 87

原创 Chapter9 数组及其常用算法 2018.11.22

1. 数组基础深入循环录入5个整型数字,进行降序排序后输出结果方案:使用冒泡排序;1. 第一轮比较的次数:数组的总长度-1;2. 下一轮比上一轮比较的次数:少一次;int nums[] = {15,25,90,23,9};//外层循环控制比较的轮数;for(int i = 0; i<4;i++){    //内层循环控制每轮的比较和交换    for(...

2018-11-22 19:50:23 64

原创 Chapter 8 数组的使用

一、C++一维数组:语法 datatype arrayName[size];eg: int nums[25];     char array_of_name[30];     double curr_salary[35];二、数组的长度可以是常量:         const int N=50;        int emp_id[N];        const in...

2018-11-22 08:54:14 124

原创 python递归

def factorial(n):    if n==1:        return 1    else:        return n*factorial(n-1) factorial(6)720 

2018-11-11 17:55:53 72

原创 Python的内置函数map()

map()会接受一个函数和一个序列,序列中的每一个元素调用函数,返回包含函数返回值的新的列表。eg:>>>map(lambda x:x*2,range(9))[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]...

2018-11-11 17:25:04 144

原创 python过滤器filter()

filter()接受一个函数和一个序列。filter()把传入的函数作用于序列中的每一个元素,根据函数返回值为True还是False来决定列表中是否保留该元素。>>>filter(lambda x: x%2, range(10))[1,3,5,7,9] ...

2018-11-11 17:13:24 108

原创 python中的收集参数

当参数个数不确定时,在表示收集参数的参数前面加上*来表示收集参数def sayHello(*params):    print("参数的长度是"+len(params))    print('第二个参数是'+params[1])  sayHello('hello',3,5,7,2)参数的长度是5第二个参数是3 ...

2018-11-09 21:31:02 245

原创 python异常处理

python中异常处理的目的是防止因为程序运行过程中出现异常而发生程序中断python异常处理的基本语法Python中使用try语句来处理异常,try语句也要使用缩进结构,try语句也有一个可选择的else语句块,一般的try语句块基本形式是:try:    <语句块>                                            #可能产生异常...

2018-09-30 10:02:43 122

原创 匿名函数lambda

可以将匿名函数赋值给一个变量供调用,其形式为lambda params : expr   params相当于声明函数时的参数列表中的参数,expr是函数要返回值的表达式 >>>import math>>>s = lambda x1,y1,x2,y2:math.sqrt((x1-x2)**2+(y1-y2)**2)>>>s(1,2,3...

2018-09-29 20:13:58 97

原创 python中收集关键字参数时要放在函数声明的参数列表中的所有参数之后

如果要收集不定数量的关键字参数,可以在自定义函数时的参数前面加两个星号即**valuename,这样一来,多余的关键字参数就可以以字典的方式被收集到变量valuename之中def change_para_dct(a,b=0,**adct):        print('adct:',adct)        print('a:',a)        print('b':b)c...

2018-09-29 16:25:06 298

原创 python可变数量参数传递

自定义函数时,如果参数名前面加一个星号“*”,则表示该参数时一个可变数量长的参数。在调用该参数时,如果依次将所有的其他变量都赋值之后,剩下的参数会收集在一个元组中,元组的名称就是前面带星号的参数名如果函数声明中,参数列表中如果包括三种类型的参数(位置参数,关键字参数和可变长参数),一般来说带星号的参数放在最后面。但如果带星号“*”的参数放在前面,仍然可以工作,但是调用函数时,后面的参数必须...

2018-09-29 16:14:46 3708

原创 python声明函数时参数传递问题

在python中参数值的传递时按照函数声明是参数的位置顺序进行传递的,即位置参数。Python还提供一种传递参数的方法,按照参数名传递值的方法,即提供关键字参数——类似定义函数是设置默认参数时的默认值,要在调用函数名后的圆括号里面写形式为"关键字=参数值"。例如函数hello()可以用关键字的方式来调用参数hello(name='Jonson',hi='hi')如果在函数调用时,既提供...

2018-09-29 15:56:02 304

原创 python3.x中声明函数时的默认值参数问题

声明一个参数具有默认值的函数形式如下:def <函数名> (参数=默认值):        <函数语句>eg:def hello(name='python'):         print('你好,我是: %s' %name)hello()  # 不增加参数,使用默认参数,name默认值会被自动赋值给参数name输出:你好,我是:python...

2018-09-29 15:18:31 716

原创 Python函数声明的一般形式

def <函数名> (参数列表):      <函数体>       return <返回值>参数列表值和返回值不是必须的,return后也可以不跟返回值,甚至连return也可以没有。对于return后面没有返回值和没有return语句的函数都会返回None值。此外,没有参数时,包含参数的圆括号必须是要写上的,圆括号后的冒号也必须有“:”。...

2018-09-29 15:03:10 1501

原创 Python3的显示处理

用法:print(value,......, sep=' ,',end='\n')value是用户要输出的信息;后面的省略号表示可以有多个要输出的信息;sep是多个要输出的信息之间的分隔号,若不指定,默认地是空格,上例中使用的,;end表示print()函数中所有要输出信息之后添加的符号,默认的是换行符\n;eg:print('a','b','c')   #默认多个要输出的...

2018-09-28 19:32:06 131

空空如也

空空如也

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

TA关注的人

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