python语法
HXH.py
敬畏YHH是智慧的开端;认识至圣者便是聪明。
展开
-
python----水仙花数的Python语法实现
水仙花数“水仙花数"是指一个三位以上的整数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数”,因为153=1的三次方+5的三次方+3的三次方。题目:打印出100-999之间所有的"水仙花数"。语法实现:i = 100while i <= 999: bai_wei = i // 100 # 整除,取整 shi_wei = i % 100 // 10 ...原创 2019-04-06 23:12:00 · 428 阅读 · 0 评论 -
python----快速排序的python语法实现
快速排序快速排序(英语:Quicksort),⼜称划分交换排序(partition-exchangesort),通过⼀趟排序将要排序的数据分割成独⽴的两部分,其中⼀部分的所有数据都⽐另外⼀部分的所有数据都要⼩,然后再按此⽅法对这两部分数据分别进⾏快速排序,整个排序过程可以递归进⾏,以此达到整个数据变成有序序列。快速排序算法的运作如下:1)从数列中挑出⼀个元素,称为"基准"(pivot),2...原创 2019-04-08 20:53:12 · 134 阅读 · 0 评论 -
python----希尔排序的python语法实现
希尔排序希尔排序(Shell Sort)是插⼊排序的⼀种。也称缩⼩增量排序,是直接插⼊排序算法的⼀种更⾼效的改进版本。希尔排序是⾮稳定排序算法。该⽅法因DL.Shell于1959年提出⽽得名。 希尔排序是把记录按下标的⼀定增量分组,对每组使⽤直接插⼊排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减⾄1时,整个⽂件恰被分成⼀组,算法便终⽌。希尔排序过程:希尔排序的基本思想是:...原创 2019-04-08 20:45:30 · 174 阅读 · 0 评论 -
python----插入排序的python语法实现
插⼊排序插⼊排序(英语:Insertion Sort)是⼀种简单直观的排序算法。它的⼯作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插⼊。插⼊排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插⼊空间。图示实现过程:语法实现:def insert_sort(alist): """插入排序""" n =...原创 2019-04-08 20:39:02 · 149 阅读 · 0 评论 -
python----选择排序的python语法实现
选择排序选择排序(Selection sort)是⼀种简单直观的排序算法。它的⼯作原理如下。⾸先在未排序序列中找到最⼩(⼤)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最⼩(⼤)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换⼀对元素,它们当中⾄少有⼀个将...原创 2019-04-08 20:35:19 · 96 阅读 · 0 评论 -
网络通信tcp tcp下载器案例的python语法实现
TCP协议TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP通信需要经过创建连接、数据传送、终止连接三个步骤。类似于日常生活中打电话的场景,需要建立链接,确认发送结果,安全传输。下载案例:客户端import socketdef main(): # 创建套接字 ...原创 2019-04-11 16:07:59 · 181 阅读 · 0 评论 -
python----完全二叉树的创建及不同遍历方法的python语法实现
完全⼆叉树若设⼆叉树的⾼度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最⼤个数,第h层有叶⼦结点,并且叶⼦结点都是从左到右依次排布,这就是完全⼆叉树。语法实现:class Node(): """结点类""" def __init__(self, item): self.item = item self.lchild = N...原创 2019-04-11 15:50:47 · 927 阅读 · 0 评论 -
搜索--二分查找(折半查找)的两种python语法实现
搜索搜索是在⼀个项⽬集合中找到⼀个特定项⽬的算法过程。搜索通常的答案是真的或假的,因为该项⽬是否存在。 搜索的⼏种常⻅⽅法:顺序查找、⼆分法查找、⼆叉树查找、哈希查找⼆分法查找⼆分查找⼜称折半查找,优点是⽐较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插⼊删除困难。因此,折半查找⽅法适⽤于不经常变动⽽查找频繁的有序列表。⾸先,假设表中元素是按升序排列,将表中间位置记录的关键...原创 2019-04-11 15:43:37 · 288 阅读 · 0 评论 -
python----双端队列详解及python语法实现
双端队列双端队列(deque,全名double-ended queue),是⼀种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插⼊和删除操作在表的两端进⾏。双端队列可以在队列任意⼀端⼊队和出队。语法实现:class Deque(): """双端队列""" def __init__(self): self.__items = []...原创 2019-04-07 23:27:15 · 285 阅读 · 0 评论 -
python----队列详解及python语法实现
队列队列(queue)是只允许在⼀端进⾏插⼊操作,⽽在另⼀端进⾏删除操作的线性表。队列是⼀种先进先出的(First In First Out)的线性表,简称FIFO。允许插⼊的⼀端为队尾,允许删除的⼀端为队头。队列不允许在中间部位进⾏操作!假设队列是q=(a1,a2,……,an),那么a1就是队头元素,⽽an是队尾元素。这样我们就可以删除时,总是从a1开始,⽽插⼊时,总是在队列最后。这也⽐较符...原创 2019-04-07 23:18:34 · 332 阅读 · 0 评论 -
python----栈详解及构建与应用的python语法实现
栈栈(stack),有些地⽅称为堆栈,是⼀种容器,可存⼊数据元素、访问元素、删除元素,它的特点在于只能允许在容器的⼀端(称为栈顶端指标,英语:top)进⾏加⼊数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存⼊的那个元素,确定了⼀种默认的访问顺序。由于栈数据结构只允许在⼀端进⾏操作,因⽽按照后进先出(LIFO, Last In...原创 2019-04-07 23:10:14 · 240 阅读 · 0 评论 -
python----冒泡排序的python语法实现
冒泡排序冒泡排序(英语:Bubble Sort)是⼀种简单的排序算法。它重复地遍历要排序的数列,⼀次⽐较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的⼯作是重复地进⾏直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越⼩的元素会经由交换慢慢“浮”到数列的顶端。冒泡排序算法的运作如下:1)⽐较相邻的元素。如果第⼀个⽐第⼆个⼤(升序),就交换他们两个。2)对每⼀...原创 2019-04-07 23:02:27 · 168 阅读 · 0 评论 -
python----斐波那契数列的两种python语法实现
斐波那契数列斐波那契数列(Fibonacci sequence)的定义:斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…,这个数列从第3项开始,每一项都等于前两项之和。在数学上,斐波纳契数列以如下被以递归的...原创 2019-04-06 23:27:16 · 538 阅读 · 0 评论 -
python----归并排序的python语法实现
归并排序归并排序是采⽤分治法的⼀个⾮常典型的应⽤。归并排序的思想就是先递归分解数组,再合并数组。将数组分解最⼩之后,然后合并两个有序数组,基本思路是⽐较两个数组的最前⾯的数,谁⼩就先取谁,取了后相应的指针就往后移⼀位。然后再⽐较,直⾄⼀个数组为空,最后把另⼀个数组的剩余部分复制过来即可。语法实现:def merge_sort(alist): """归并排序""" n = l...原创 2019-04-08 20:57:52 · 112 阅读 · 0 评论