自定义博客皮肤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学习记录

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

翻译 python数据结构与算法 24 汉诺塔问题(河内塔问题)

复杂递归问题前面几节我们研究了几个相对比较容易的问题,有些有趣的图形问题可以在脑子里建立模型,让我们了解递归的过程。这一节开始我们要研究几个用迭代法比较难而用递归比较容易的问题,然后是一个看起来很简单但实际上很难的问题来结束。河内塔问题河内塔(汉诺塔的译法比较通行,但不对)问题是法国数学家Edouard Lucas于1883年受一个传说的启示提出的。据说是印度神庙里传授给年轻僧侣的

2014-03-31 15:12:01 2612

翻译 python数据结构与算法 23 宾斯基三角形

宾斯基三角形另一个演示自相似分形图的是宾斯基三角形,如图3所示。宾斯基三角形说明了一种三通递归算法。这种图形手绘非常简单。从一个大三角形开始,连接三个边的中点,把三角形分成4个。不管中间的三角形,把其余三个再次应用前述的过程。每一次都新建一些三角形,再把每个同样的过程递归应用到小三角形上,只要你的铅笔够细,这个过程可以无限进行下去。在读下面的代码之前,一定要拿出笔来,亲手画一遍。

2014-03-30 20:15:38 5043

翻译 python数据结构与算法 22 递归图形

递归图形上节中我们已经知道有些问题,如果用递归解决变得非常容易。但是仍然很难在大脑里形成一种模型或可视化的方法,让我们直觉地明白函数递归过程到底发生了什么。这一节我们引入几个例子,用递归的方法画几个有趣的图形,通过观察图形的生成,也许能帮助你洞察递归的过程,从而学会递归的方法。我们要用的工具是python的图形模块turtle,这个模块伴随python的全部版本而且很容易使用,语法也简

2014-03-26 16:20:29 3892

翻译 python数据结构与算法 21 递归的实现和应用

把一个整数变成一个任意进制的字符串假设你要把一个整数转变成一个从2到16进制的数字组成的字符串,例如,把整数10变成十进制是“10”,二进制就是“1010”。虽然很多算法能够实现,包括在栈的应用中我们讨论过一个算法,但是递归的算法仍然是最简洁的。先来看个例子,十进制数769。我们有一个字符串,含有10个数字的字符串,类似covString=”0123456789”。那么把一个小于10的

2014-03-25 15:50:58 1948

翻译 python数据结构与算法 20 递归和递归三定律

递归本章目标理解很多复杂问题,如果不用递归就很难解决,用递归也许非常简单 学会怎样进行递归编程 理解并应用递归三定律 理解递归也是一种迭代 建立一个问题的递归方法 理解递归在计算机系统内是如何进行的。什么是递归?递归是解决问题的一种方法,它把问题拆解得越来越小,直到变得非常容易,一般情况下,递归过程要包括一个自我访问的函数。与表面看起来似乎不一样,其实递归允许我们写出非常简

2014-03-24 17:13:56 3618 3

翻译 python数据结构与算法 19有序列表 ADT及实现

有序列表ADT我们开始讨论有序列表。就如上节中我们讨论的列表,如果数据项按升序排列,就要写成17,26,31,54,77,93。17是最小的,就是第一个数据项,93是最大的,就占最后的位置。有序列表的数据结构是数据项的集合,数据项之间保持其相对位置,而且这个位置是根据数据项的某个潜在特征排列的。典型的排列方法一般就是升序或降序或其他定义好的比较方法。有序列表的操作大部分与无序列表很象。

2014-03-24 12:30:19 3678

原创 关于python数据结构与算法一书译稿的声明

发现有的网站在转载我的译稿,且不注明出处和译者。作者不得不声明一下:因为译者并没有得到原作者授权,只是根据网上公开的资料进行学习记录。所以版权归原作者或其中文版授权方。转发者请慎重。我本人只是边读边记录,并未校对。在得到授权或获得出版邀请之前,也没有精校的计划。阅读者也请慎重。如果原作者或出版社有合作计划,请联系QQ71048190

2014-03-23 22:42:10 3234

翻译 python数据结构与算法 18 无序列表的实现

无序列表的实现:链表为了实现无序列表,先要实现我们通常称为“链表”的结构。前面说过我们保持列表元素之间的相对位置。当然,在连续存储的情况下不需要额外保存相对位置(如数组),但是如果数据以图1这样的随机方式保存,这就需要为每个元素配置额外的信息,指明它下一个元素的位置(图2),这样每个元素的相对位置,就通过一个元素到另一个元素的链接实现了。图1 元素不固定

2014-03-22 22:26:41 3648 1

原创 Qt设计师与主程序调用方法

本能地对手写代码作UI不感冒。因为UI要作专业设计啊,你用代码写的同事怎么美化?但是对设计师作的ui文件,又不太会用。勉强套一个代码的样式,对一个ui会用了,有两个代码就又乱了。rapid gui programing with python and qt第五章,终于有了一个主窗口和子窗口的例子。虽然书上用的代码,我用设计师也做出来了。先画好两个UI,只布元素,

2014-03-22 17:02:40 2059 1

原创 汇率计算器的代码

"""代码来自Rapid GUI with PyQt4,时间变了,很多东西的变化,调试好累"""__author__ = 'dd'import sysimport urllib.request  # 注意python3.3 的urllib格式变化。from PyQt4.QtCore import *from PyQt4.QtGui import *class

2014-03-22 10:48:41 2397

翻译 一个计算器的代码,只做注释

"""rapid_GUI program with pyqt,这本书的一些代码,整理一下,文字全部体现在注释里。"""from __future__ import divisionfrom PyQt4.QtCore import *from PyQt4.QtGui import *from math import *import sysclass Form(

2014-03-21 22:30:06 1715

翻译 python数据结构与算法 17 列表

列表回顾我们对简单数据结构的讨论,一直都是用了python语言的列表来实现抽象数据类型。虽然列表是是功能强大,使用简单的集合工具,也被广泛使用,不过,不是所有的编程语言都包括了列表工具。这种情况下,列表的概念就需要程序员自己实现。列表是是一种数据集合,其数据元素保持之间的相对位置,更清楚地说,我们把这种列表叫做无序列表,这种列表有第1个元素,第2个元素,第3个元素等等。我们能够引用列表

2014-03-20 16:54:19 1280

翻译 python数据结构与算法 16 队列应用之 打印任务

打印机任务队列的模拟程序,python语言,队列的应用

2014-03-20 12:46:28 3125 2

原创 PyQt4之对话框示例

话说PyQt4,是不是版本有点乱啊,一个功能学了几个地方,都不一样,有的没反应,有的出错,总算拼出来了。示例文档是表现这个对话框当然是用designer画出来的,转换成py文件。下面是主程序代码import sysfrom PyQt4 import QtGui, QtCorefrom pyqt.dialog_ui import Ui_notepad  #

2014-03-19 21:28:58 2034

翻译 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 1680

翻译 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

空空如也

空空如也

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

TA关注的人

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