Algorithm
Hayyyyyden
这个作者很懒,什么都没留下…
展开
-
2021-02-27 树
文章目录树二叉树 树 二叉树 class Node(object): def __init__(self, item): self.elem = item self.left_child = None self.right_child = None class Tree(object): def __init__(self): self.root = None ''' 向树的最后添加节点 (满二叉树)-&g原创 2021-02-28 00:00:17 · 92 阅读 · 0 评论 -
2021-02-27 搜索
搜索 文章目录搜索二分法查找非递归实现递归实现 常见搜索方法: 顺序查找 二分法查找 二叉树查找 哈希查找 二分法查找 非递归实现 def binary_search(item, a_sorted): index = len(a_sorted)//2 while 0 < index < len(a_sorted)-1: if a_sorted[index] == item: # return True retu原创 2021-02-27 20:28:58 · 75 阅读 · 0 评论 -
2021-02-26 栈和队列
文章目录栈队列 栈 class Stack(object): def __init__(self): self.__list = [] def push(self, item): # 添加一个新的元素item到栈顶 self.__list.append(item) def pop(self): # 弹出栈顶元素 return self.__list.pop() def peek(self):原创 2021-02-26 23:33:35 · 63 阅读 · 0 评论 -
2021-02-26 排序
文章目录排序冒泡排序选择排序插入排序 排序 冒泡排序 def bubble_sort(a): for i in range(0, len(a) - 1): count = 0 for j in range(0, len(a) - 1 - i): if a[j] > a[j + 1]: a[j], a[j + 1] = a[j + 1], a[j] count += 1原创 2021-02-26 23:32:24 · 101 阅读 · 0 评论 -
2021-02-25 链表
链表 class SingleNode(object): def __init__(self, elem): self.elem = elem self.next = None class SingleLinkList(object): def __init__(self, node=None): self.__head = node def is_empty(self): return self.__head =原创 2021-02-25 20:01:33 · 50 阅读 · 0 评论 -
2021-02-22 顺序表
原创 2021-02-22 23:19:19 · 57 阅读 · 0 评论 -
2021-02-19 数据结构
数据结构 数据结构只是静态的描述了数据元素之间的关系。 高效的程序需要在数据结构的基础上设计和选择算法。 程序 = 数据结构 + 算法 抽象数据类型(Abstract Data Type) **抽象数据类型(ADT)**的含义是指一个数学模型以及定义在此数学模型上的一组操作。即把数据类型和数据类型上的运算捆在一起,进行封装。引入抽象数据类型的目的是把数据类型的表示和数据类型上运算的实现与这些数据类型和运算在程序中的引用隔开,使它们相互独立。 最常用的数据运算有五种: 插入 删除 修改 查找 排序 ..原创 2021-02-20 05:38:19 · 112 阅读 · 0 评论 -
2021-02-19 算法简介
算法的五大特性 输入: 算法具有0个或多个输入 输出: 算法至少有1个或多个输出 有穷性: 算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成 确定性:算法中的每一步都有确定的含义,不会出现二义性 可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成 算法效率衡量 我们假定计算机执行算法每一个基本操作的时间是固定的一个时间单位,那么有多少个基本操作就代表会花费多少时间单位。由此可以忽略机器环境的影响而客观的反应算法的时间效率。 大O记法 对于单调的整数原创 2021-02-20 05:29:28 · 189 阅读 · 0 评论