摘要: 搜索与排序 (一)二分搜素 Binary Search (iterative): def bi_search_iter(alist, item): left, right = 0, len(alist) - 1 while left <= right: mid = (left + right) // 阅读全文
posted @ 2020-06-08 21:49 sowhat1943 阅读(132) 评论(0) 推荐(0) 编辑
摘要: (二)递归 什么样的问题能够用递归来解决 递归需要满足三个条件: (1)一个问题的解可以分解成几个子问题的解 (2)这个问题与分解之后的子问题,除了数据规模不同,求解思路完全一样 (3)存在递归终止条件 写递归代码的关键也是,找到递推公式和终止条件 案例 案例1 阶乘 #循环实现 #时间O(n) # 阅读全文
posted @ 2020-05-28 23:18 sowhat1943 阅读(315) 评论(0) 推荐(0) 编辑
摘要: #(一)Introduction 引入问题:找到丢失的数字 算法实现1:求和相减 算法实现2:异或运算 A^A=0 A^0=A A^B=B^A (1^2^3...x^...n)^ (1^2^3...0^...n) 0^0^0...x^...0=x 1. 时间复杂度与空间复杂度 O(1) < O(lo 阅读全文
posted @ 2020-05-26 22:46 sowhat1943 阅读(243) 评论(0) 推荐(0) 编辑
摘要: [TOC] (一)_thread模块实现多线程(已不推荐使用) 没有控制进程结束机制 只有一个同步原语(锁) (二)threading模块 threading.Thread join()让主线程等待 自定义Mythread (三)锁 threading.Lock() with语法 (四)队列 Que 阅读全文
posted @ 2020-01-14 22:55 sowhat1943 阅读(147) 评论(0) 推荐(0) 编辑
摘要: (一)sys sys:提供一组功能映射Python运行时的操作系统 1. 平台与版本 2. 观察异常细节 3. sys.argv 命令行运行时的所有参数列表 4. 标准流 sys.stdin() sys.stdout() sys.stderror() (二)os os:提供跨平台可移植的操作系统编程 阅读全文
posted @ 2020-01-09 22:07 sowhat1943 阅读(150) 评论(0) 推荐(0) 编辑
摘要: [TOC] (一)正则表达式的构成 正则表达式由两种元素组成: 字面值 普通字符和 需要转义的字符(\,^,$,.,|,?, ,+,(),[],{}) 元字符(特殊意思) .:除\n外的所有字符 \d:数字,等同于[0 9] \D:匹配所有非数字 [ ^ 0 9] \s:空白字符,\t\r\n\f\ 阅读全文
posted @ 2020-01-08 23:10 sowhat1943 阅读(295) 评论(0) 推荐(0) 编辑
摘要: [TOC] (一)字符串的本质 内存中总是存储解码以后的文本,编码只作用于文件存储和中间媒介转换 (二)常见的字符编码 ASCII(存储一个Byte 0 127) latin 1(存储一个Byte 128 255) UTF16 (两个字节存储字符) UTF32 (四个字节存储字符) UTF8 (可变 阅读全文
posted @ 2020-01-08 20:44 sowhat1943 阅读(262) 评论(0) 推荐(0) 编辑
摘要: [TOC] (一)扁平文件 (二)pickle (三)shelve 阅读全文
posted @ 2020-01-06 22:04 sowhat1943 阅读(126) 评论(0) 推荐(0) 编辑
摘要: [TOC] (一)数值格式化 (二)随机数 (三)日期 date(只考虑日期): time(只考虑时间): datetime(考虑时间和日期): 阅读全文
posted @ 2020-01-06 21:20 sowhat1943 阅读(388) 评论(0) 推荐(0) 编辑
摘要: [TOC] (一)异常处理 1.捕获所有异常 2.捕获特定异常 3.手动抛出异常 (二)测试 使用Python自带的unittest模块 example 1:测试某个函数 example 2:测试某个类 常用的断言方法: 阅读全文
posted @ 2020-01-05 22:56 sowhat1943 阅读(175) 评论(0) 推荐(0) 编辑