随笔分类 - 数据结构和算法 python
用python语言实现数据结构和算法
摘要:1. 使用python定义链表结构 from util.Empty import Empty from util.Outbound import Outbound class Node(): def __init__ (self, value = None, next = None): self.v
阅读全文
摘要:1. 二分迭代程序(找到的位置可能不是第一次出现的位置) def bi_search_iter(alist, item): left, right = 0, len(alist) - 1 while left <= right: mid = (left + right) // 2 if alist[
阅读全文
摘要:1. 子集(leetcode 第78题) # 在原子集的基础上添加元素,扩充到result里面 Slicing的方式 def subsets(nums): result = [[]] for num in nums: for element in result[:]: # slicing 相当于ma
阅读全文
摘要:1. 用递归要明确两大条件 (1)base情况:找出最重要的Base条件,即递归结束的条件 (2)数学归纳法:找出f(n)与f(n-1)或者f(n-2)等的关系。 2. 例子 (1) 累加 从1+2+3+……+n def mysum_recursive(n): if n == 0: # base情况
阅读全文
摘要:1. 冒泡排序 思想:每次都是相邻元素进行比较,当后面的元素小于前面元素时,就进行交换位置 。 时间复杂度:O(N^2) 空间复杂度:O(1) 稳定性:稳定 def bubble_sort_mod(array): for i in range(len(array)): is_sorted = Tru
阅读全文
摘要:1. 搜索 (1)顺序搜索 def search(num_list, val): if num_list == None: return -1 for i in range(0, len(num_list)): if (num_list[i] == val): return i return -1
阅读全文

浙公网安备 33010602011771号