![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法(python)
Litra LIN
这个作者很懒,什么都没留下…
展开
-
leetcode解题思路分享(# 141)
leetcode 141环形链表 本题主要使用快慢指针进行判断。下面是代码+思路解释 1、定义快慢指针(快指针每次走两步,慢指针每次走一步) 2、当快指针有意义且快指针的下一位仍有数值时,进行继续移动快慢指针 如果快指针和慢指针重合(相遇),说明该链表存在循环,返回True 如果快指针走到链表尾仍没有遇到慢指针,说明没有循环,返回False 代码: class Solution: def hasCycle(self, head: ListNode) -> bool: fas原创 2021-01-23 11:04:17 · 157 阅读 · 3 评论 -
十大排序算法及其python实现
“”" Author:Litra Environment:python3.7 Time:2020.10.06 Decribe: ten sorts(十大排序) “”" 1、冒泡排序(bubble sort) “”“冒泡排序的思想在于对无序表进行多趟比较交换 每趟包括了多次两两相邻比较,并将逆序的数据项互换位置,最终能将本趟的最大项就位 经过n-1次排序,实现整表排序 每趟的过程类似于"气泡"在水中不断上浮到水面的过程 “”” 冒泡排序代码 def simple_bubbleSort(alist): for原创 2020-10-06 17:36:53 · 172 阅读 · 0 评论 -
数据结构与算法之散列(hash table)
散列 基础定义 1、 散列:由数据项的值来确定数据存放的位置。散列表中的存储位置被成为槽。 2、散列函数:实现从数据项到存储槽的转换的函数称为散列函数。 3、 槽号:散列函数返回的数据项的存储位置。 几种常用的散列函数: 求余散列: 方法: 将数据项除以散列表的大小,得到的余数作 为槽号。 实际上“求余数”方法会以不同形式出现在所有 散列函数里 因为散列函数返回的槽号必须在散列表大小范围 之内,所以一般会对散列表大小求余。 数据的查找: 只需要使用同一个散列函数,对查找项进行计算,测试下返回的槽号所对应的原创 2020-09-20 09:50:08 · 833 阅读 · 0 评论