Python入门篇-数据结构堆排序Heap Sort 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.堆Heap 堆是一个完全二叉树 每个非叶子结点都要大于或者等于其左右孩子结点的值称为大顶堆 每个非叶子结点都要小于或者等于其左右孩子结点的值称为小顶堆 根结点一定是大顶堆中的最大值,一定是小顶堆中的最小值 二.大顶堆 完全二叉树的每个非叶子结点都要大于或者等于其左右孩子结点的值称为大顶堆 根结点一定是大顶堆中的最大值 三.小顶堆 完全二叉树的每个非叶子结点都要小于或者等于其…
Python入门篇-数据结构树(tree)的遍历 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.遍历 迭代所有元素一遍. 二.树的遍历 对树中所有元素不重复地访问一遍,也称作扫描. 三.广度优先遍历 层序遍历: (1)按照树的层次,从第一层开始,自左向右遍历元素 (2)遍历序列如下图所示,(ABCDEFGHI) 四.深度优先遍历 设树的根结点为D,左子树为L,右子树为R,且要求L一定在R之前,则有下面几种遍历方式: 前序遍历,也叫先序遍历.也叫先根遍历,DLR 中序遍历,…
Python入门篇-数据结构树(tree)篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.树概述 1>.树的概念 非线性结构,每个元素可以有多个前躯和后继 树是n(n>=0)个元素的集合: n = 0时,称为空树 树只有一个特殊的没有前驱的元素,称为树的根root 树中除了根结点外,其余元素只能有一个前驱,可以有零个或者多个后继 递归定义: 数T是n(n>=0)个元素的集合.n=0时,称为空树 有且只有一个特殊元素根,剩余元素都可以被划分为m个互不相交的集合T1…
堆排序(heap sort) 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 堆排序包括两个步骤: 第一步: 是建立大顶堆(从大到小排序)或小顶堆(从小到大排序), 从下往上建立; 如建堆时, s是从大到小; 第二步: 是依次交换堆顶和堆底, 并把交换后的堆底输出, 仅仅排列剩余的堆, 从上往下建立; 如构造时, s始终是1; 堆排序(Heap Sort)的时间复杂度是O(nlogn), 最坏情况下也是如此. 而高速排序(Quic…
Python入门篇-封装与解构和高级数据类型集合(set)和字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.封装和结构 #!/usr/bin/env python #_*_conding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie x = 1,3,5,7 #Python中的封装,注意,这里把等号后边的int数据类型封装成元组了 print(x) a,b =…
Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Python内置数据结构分类 1>.数值型 如 :int,float,complex,bool 2>.序列对象 字符串:str 列表:list 元组:tuple 3>.键值对 集合:set 字典:dict 二.数值型 1>.数值型概述 .+3j都是对象即实例. int: python3的i…
Python入门篇-面向对象概述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.语言的分类 面向机器 抽象成机器指令,机器容易理解 代表:汇编语言 面向过程 做一件事情,排出个步骤,第一步干什么,第二步干什么,如果出现情况A,做什么处理,如果出现了情况B,做什么处理. 问题规模小,可以步骤化,按部就班处理. 代表:C语言 面向对象OOP 随着计算机需要解决的问题的规模扩大,情况越来越复杂.需要很多人.很多部门协作,面向过程编程不太适合了. 代表:C++.Java.Pyth…
Python入门篇-高阶函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.高级函数  1>.First Class Object 函数在Python中是一等公民 函数也是对象,可调用的对象 函数可以作为普通变量,参数,返回值等等 2>.高阶函数 数学概念:y=g(f(x)) 在数学和计算机科学中,高阶函数应当是至少满足下面一条条件的函数 接收一个或多个函数作为参数 输出一个函数对象 3>.计数器 #!/usr/bin/env python #_*_coding:…
Python入门篇-基础语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编程基础 1>.程序 一组能让计算机识别和执行的指令. 程序 >.算法+ 数据结构= 程序 >.数据一切程序的核心 >.数据结构是数据在计算机中的类型和组织方式 >.算法是处理数据的方式,算法有优劣之分 写程序难点 >.理不清数据 >.不清处理方法 >.无法把数据设计转换成数据结构,无法把处理方法转换成算法 >.无法用设计范式来进行程序设计 >.世…
Python入门篇-StringIO和BytesIO 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.StringIO(用于文本处理) 1>.使用案例 #!/usr/bin/env python #_*_coding:utf-8_*_ #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4…