自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

量变到质变

python学习记录

  • 博客(83)
  • 资源 (1)
  • 收藏
  • 关注

翻译 python数据结构与算法 15 队列应用之烫手的山芋

为了展示队列的应用,我们模拟一种真实的先进先出的情形。作为开始,我们观察一种儿童游戏,叫烫手的山芋(hotpotato),在这个游戏中(图2),孩子们排成一圈,把手里的东西一个传一个,在某种情形下,停止传递,手上拿着烫手的山芋的人就要被清出来,其他的人继续玩,直接只剩一个人。从现代意义上说,这个游戏等价于著名的约瑟夫问题。据说,一世纪左右,历史学家弗拉维约瑟夫与犹太人一起反抗罗马。

2014-03-18 15:15:50 2647

翻译 python数据结构与算法 14 队列的python实现

队列的python实现在建立抽象数据类型之后,可以建立一个类来实现队列的。和以前一样,我们采用python内置的列表作为工具来建立队列类。队列也是有序的,所以需要决定队列的哪一头作为队列的前端和尾端。在下面的实现代码中,我们约定列表的0位置是队列的尾部,这样的好处是,可以直接使用列表的insert方法在队尾加入数据,使用pop方法在队列的前端(这时是列表的最后一个数据)删除数据。从性能

2014-03-18 07:00:13 2220

翻译 python数据结构与算法 13 队列的抽象数据类型

队列的抽象数据类型队列的抽象数据类型由下面的操作定义。队列是结构化,有序的数据集,前端删除数据,后端加入数据,保持FIFO属性:Queue() 定义一个空队列,无参数,返回值是空队列。enqueue(item)  在队列尾部加入一个数据项,参数是数据项,无返回值。dequeue()  删除队列头部的数据项,不需要参数,返回值是被删除的数据,队列本身有变化。i

2014-03-17 21:36:04 1748

翻译 python数据结构与算法 12队列的概念

什么是队列?队列是有序数据集合,队列的特点,是在头部删除数据项,称为前端,在尾部增加数据项,称为后端。数据项总是在开始的时候排在队伍的后端,慢慢向前走,直到排到最前面,轮到它的时候离开队列。刚进来的排在后端,待在队伍里时间最长的在前端,这种排列规则叫做FIFO,意思是“先进先出”,或者叫做“先来先服务”。最简单的例子就是平时我们的排队,象排队买票看电影,在超市排队付款,在自助餐厅排

2014-03-17 13:26:04 1679

翻译 python数据结构与算法 11 后缀表达式求值

从本节开始,删除原版的英文,直接发译后的文稿。后缀表达式求值栈的最一个应用例子,计算一个后缀表达式的值。这个例子中仍然用栈的数据结构。不过,当扫描表达式的时候,这次是操作数压栈等待,不是转换算法中那样让操作符等待。另一条思路是,无论何时看到输入一个操作符,最近的两个操作数就是操作对象。为了说清楚一点,考虑表达式 4 5 6 * +。从左到右扫描时,首先得到4和5,不过此时,并不

2014-03-16 22:24:02 4493

翻译 python数据结构与算法 10 栈的应用之中缀转后缀表达式算法的实现

General Infix-to-Postfix Conversion中缀转后缀的算法We need todevelop an algorithm to convert any infix expression to a postfix expression.To do this we will look closer at the conversion process.现在我们要开发

2014-03-16 15:24:58 2901 2

翻译 python数据结构与算法 9 中缀后前缀、后缀的转换思路

中缀到前缀和后缀的转换So far, we have used adhoc methods to convert between infix expressions and the equivalentprefix and postfix expression notations. As you might expect, there arealgorithmic ways to perf

2014-03-16 09:21:00 3429 1

翻译 python数据结构与算法 8栈的应用之中缀前缀后缀

python算法与数据结构,栈的应用,前缀后缀中缀的概念,下一节讲到互相转换。

2014-03-16 08:06:10 1915 1

翻译 Python数据结构与算法 7栈的应用之进制转换

Converting Decimal Numbers to Binary Numbers栈的应用:进制转换In your study of computer science, you have probably been exposed inone way or another to the idea of a binary number. Binary representation is

2014-03-15 10:35:53 2472

翻译 python数据结构与算法 6栈的应用之符号平衡(通用)

左右括号的匹配检查

2014-03-14 19:44:46 1971

翻译 python数据结构与算法 5栈的应用之圆括号平衡

python语言,用栈的数据结构检查括号平衡

2014-03-14 15:54:18 2763

翻译 python数据结构与算法 4栈的实现

Remember thatnothing happens when we click the run button other thanthe definition of the class. We must create a Stack object and thenuse it. ActiveCode2 showsthe Stack class in action aswe per

2014-03-14 12:22:26 2028

翻译 python数据结构与算法 3栈的抽象数据类型

python语言下栈的抽象数据类型

2014-03-14 12:22:23 2345

翻译 python数据结构与算法 2 栈的概念

Stacks栈What is a Stack? 什么是栈?A stack (sometimescalled a “push-down stack”) is an orderedcollection of items where the addition of new items and the removalof existing items always takes place at

2014-03-14 12:22:21 2311

翻译 python数据结构与算法 1 基本数据结构

Basic Data Structures第1章 基本数据结构Objectives学习目标To understand the abstract data types stack, queue, deque, andlist.To be able to implement the ADTs stack, queue, and deque usingPython lis

2014-03-14 12:22:19 4122

原创 about《Problem solving&nbsp…

这本书今天基本看过一遍,最后几节的实在有点难,所以我决定从第一节重新来过。因为看中文的略读习惯,不知道自己的英文水平,也习惯跳着看,结果看后什么不记得,徒增烦恼。还是学着翻译吧。这是一个开始。序言不翻。从基本数据结构开始。

2014-03-14 12:22:17 1279

原创 pyqt designer生成的界面怎样…

pyqt4带了一个设计器,可以用拖放的方法设计界面。但是这个界面如何与代码结合起来还有点问题。第一步,做界面,生成ui文件第二步,命令行做成.py文件,即pyuic4 -o 输出文件名 输入文件名第三步,写代码如下:import sysfrom PyQt4 import QtGui, QtCorefrom edyto_ui import Ui_notepad #这里导入界面文件

2014-03-14 12:22:15 734

原创 python模块的属性

导入一个模块,有些内置属性是可以查看的,通过以下方法:__file__查看路径,找到这个文件__doc__就是函数名下的说明,估计是""" ***"""里面这一部分,可以print__all__定义了from * import *所导入的模块,就是说,除非这里定义了模块,全部导入也只导入了ALL,其他的需要指定模块名才会导入的。

2014-03-14 12:22:13 1361

原创 构造函数的继承,参数,默认值

自以为对继承是明白的,一写函数还是出错连连。下面的代码是测试用的。测试证明这些过程是必须的。在子类中,构造函数需要声明父类的构造函数,增加这么一句:super(子类名,self).__init__()这样才能把父类的属性引过来。构造函数如果声明了参数,声明对象时,就必须提供参数,而不能建立空对象。当然如果参数表里全有默认值可以不提供,这时建立的对象也不是空对象。构造函数参数只有s

2014-03-14 12:22:10 1721

原创 自定义对象支持print方法

对于内置对象,python都提供了print方法,直接输出元素。自定义对象,一定要提供__str__方法,并且返回一个string对象,才可以支持print方法。binaryHeap的str方法:class BinHeap:def __init__(self):self.heapList = [0]self.currentSize = 0self.current = 0de

2014-03-14 12:22:08 1164

原创 对象如何可叠代输出

所谓对象的可叠代输出,就是想用for c in xx:print(c)做到输出内部元素。这几天学习的是二叉堆,书上没有提供二叉堆形成后的元素输出功能。全部的代码如下,但__iter__和__next__是后加的,目标就是最后的输出实现。我还是想实现直接print(obj),但是方法没找到。后续。__author__ = 'zcl''''最小二叉堆定义:节点key总是小于它的孩子

2014-03-14 12:22:05 629

原创 二分查找的递归方法python

作者提供的代码中是这样做二分查找的:1 def binarySearch(alist, item):2    first = 03    last =len(alist)-14    found = False56    while first<=lastand not found:7       midpoint = (first + last)//28       i

2014-03-14 12:22:03 1548 1

原创 队列与约瑟夫问题

problem solving with algorithm and data structure using python生成队列类的方法:class Queue:    def__init__(self):       self.items=[]    def isEmpty(self):       return self.items==[]    defenq

2014-03-14 12:21:58 2356

原创 python&nbsp;算法之栈

今天开始学习problem solving algorithm and datastrurcture bypython,麻省理工的教材,OCW 6.006。一方面补充一下算法知识,复习语法。栈的简单实现class Stack:    def__init__(self):       self.items=[]    def __str__(self):       retu

2014-03-14 12:21:56 759

原创 大话数据结构第一个例子的计算比较

收到大话数据结构。在第2 章算法中,高斯算法的比较,用python做了个大数的比较:源码:from time import *n=10000000starttime=clock()sum=0for i in range(1,n+1):    sum+=iprint('sum= ',sum)endtime=clock()print('time= ',endtime-start

2014-03-14 12:21:53 744

原创 pylab的环境配置

换了台电脑运行随机走动时,发现缺少太多的扩展包,在家里从没安装过的,怪事了。又安装了这么多文件,其中six,把six.py复制到site-pacakge这个目录下即可。

2014-03-14 12:21:51 602

原创 pylab

pylab模块真的很好用。下面的测试代码,一运行就知道用法了。真的好简单from pylab import *import random##plot([1,2,3,4])####plot([5,6,7,8])##plot([1,2,3,4], [1,4,9,16])####figure()##plot([1,2,3,4], [1,4,9,16], 'ro')##axis([0

2014-03-14 12:21:48 3739

原创 随机走动的模拟

麻省理工的随机走动模块,还不错,三天搞懂了,不过懂得不彻底。记录下修改的代码import math, random, pylabclass Location(object):  #位置类    def __init__(self, x,y): #给定坐标,完成初始化       self.x = float(x)       self.y = float(y)    def

2014-03-14 12:21:46 1143

原创 MIT&nbsp;背包问题的进一步理解

def maxval(w,v,i,aw):    '''决策树求0/1背包最优解见注释部分    w:weight v:value i:物品个数aw:allowable weight背包承受重量'''    #print 'call maxval:',i, aw    global numcall    numcall += 1#本函数被调用的次数    ##迭代的终点:只有一

2014-03-14 12:21:44 509

原创 麻省理工的&nbsp;背包算法&nbsp;python

折腾很长时间,这一节题目总算可以总结一下了。题目起源于麻省理工的公开课《计算机科学和编程导论》中的例题,背包问题。原题同想证明动态规划在算法复杂度上的用途。但是题目本身我不太懂,所以程序的思路清理,成为我的障碍(数据结构掌握不好的后果)。感谢以下作者的指导:一块铁疙瘩:http://alorry.blog.163.com/blog/static/6472570820116291024126

2014-03-14 12:21:41 727

原创 反省

我曾开玩笑说,我会六种编程语言……写出'hello world'。但至今没有一门可以混口饭吃。反思自己的学习过程,总是对一门语言兴趣,学语言,然后发现一些程序的思路搞不懂,回头恶补数据结构,又发现仍然看不懂,再恶补离散数学,然后就没有然后了。过几年,再来一遍。所以我学过VB,C,C++,java,python。现在python正在恶补离散数学。嘿嘿。

2014-03-14 12:21:39 486

原创 把数字转为二进制的字串

本来是学背包问题的,无奈数据结构基础不好啊。胡思乱想,引出的问题。怎么把一个整数字,转为二进制的字符串这个当然简单了>>>bin(3)'0b11'但是如果我不想要0b,而且前面补齐0为8位二进制呢?def tobinList(n):   s1=['0']*(8-(len(bin(n))-2))    #print('s1= ',s1)把bin的结果去掉0b的长度,前面补0,

2014-03-14 12:21:36 1256

原创 python&nbsp;把列表转为字串

把列表转为字符串,当然指元素为字串的列表了。例如['zhang','long']>>> s1=['zhang','long']>>> s1=''.join(s1)>>> s1'zhanglong'

2014-03-14 12:21:34 1570

原创 python&nbsp;合法输入的判断

昨天学习异常,发现如果要求用户输入一个合法的数字并检查的方法。在网上最早找到的方法是:while True: ten=None try: ten=int(input("x:")) except:pass if type(ten)==int:break这是检查是否整数。但是我想,要是一般数字要求的话,整数和浮点数应该都是合法的。所以修

2014-03-14 12:21:32 1116

原创 判断数据类型&nbsp;python

在贴吧发现一个小技巧,可以方便判断变量类型。import typestype(a)==type(1) #整型type(b)==type('abc')# 字符串type(c)==type('1.20')# 符点怎么样,比之那些标准类型来简单吧

2014-03-14 12:21:29 862 2

原创 python&nbsp;冒泡排序

在python中作冒泡排序,工作中是蛋疼。当个学习算法吧,谁让咱是新手呢?源码:def bubleSort(L):    for i inrange(len(L)-1,0,-1):       for j in range(0,i):           ifL[j]>L[j+1]:              L[j],L[j+1]=L[j+1],L[j]      

2014-03-14 12:21:26 562

原创 用正则表达式清除各类符号

一篇文章,先转为单词为元素的列表。分解时遇到的第一个问题,就是如果去除各类标点符号。 import re  line='asdf fjdk;;;; s afred,,fjek.asdf, foo^sdkk' re.split(r'[;^,.\s]*',line) #表示后面的字符串没有转义符。【这里面是要作为分隔的各类符号】,外面的*表示重复也算。运算结果,['asdf',

2014-03-14 12:21:23 2396

原创 python&nbsp;deque定长队列

这个中文翻译是自定的,非官方。在cook book 3rd中,介绍了定长队的功能。数据结构是一个列表和列表长度的元组。>>>from collections import deque>>>d=deque(maxlen=5)>>>qdeque([], maxlen=5)>>> q.append(1)>>> q.append(2)>>> q.append(3)>>> q.appe

2014-03-14 12:21:21 4623

原创 python中的三元运算符

python中三元运算:x if y else z即把条件放在中间。>>> x=3 if a>=3 else 2>>> x2>>> a1>>> a=5>>> x=3 if a>=3 else 2>>> x3>>>

2014-03-14 12:21:19 1723

原创 字符串函数,转载

Python内置的字符串处理函数整理发布:mdxy-dxy 字体:[增加 减小] 类型:转载Python内置的字符串处理函数整理,收集常用的Python 内置的各种字符串处理 函数的使用方法str='python Stringfunction'生成字符串变量str='python Stringfunction'字符串长度获取:len(str)例:pr

2014-03-14 12:21:17 703

空空如也

空空如也

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

TA关注的人

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