- 博客(6)
- 收藏
- 关注
原创 python os 模块(附代码)
最近因为工作需要,需要大量的文件操作,要说文件操作,首选当然是OS模块了,趁此机会抓紧复习下 os.path os.path.abspath(path) 返回路径 path 的绝对路径(标准化的), RELATIVE_BASE_PATH = './test.txt' # 相对路径 ABSOLUTE_BASE_PATH = r'F:\pythonpack\data_structure\py_os_file\test.txt' # 绝对路径 print(os.path.abspath(REL
2021-09-26 22:50:01
245
原创 python实现堆排序 (附解析)
python 实现堆排序 堆排序: 堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。(来源于百度百科) 就是利用完全二叉树的性质,将一个长数组划分为若干个小块,进行比较交换,进而达到排序的目的。基本思想还是化整体为局部,然后局部合并达到高效排序的目的。 核心概念: 大(小)顶堆 父节点 子节点 具体概念这里就不贴了,以前遇到算法相关问题,我当时只是靠死记硬背,发现如果不能理解算
2021-09-14 09:13:43
494
原创 python 实现 希尔排序
首先来一段专业解释:(来源于百度百科) 希尔排序(Shell’s Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因 D.L.Shell 于 1959 年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至 1 时,整个文件恰被分成一组,算法便终止 简单来说,就是某个规则(就是上文中提到的增量)
2021-08-25 18:33:23
509
原创 python 实现 归并排序
python 实现 归并排序 采用分治法,将源数据逐次进行类似二叉树方式进行划分,将大量数据分为各个小块进行排序,最后依次合并。原理如图: 搞清楚原理后,直接上代码: #!/usr/bin/env python # -*-coding:utf-8-*- # @Time:2021/7/19 16:20 # @Author:ZhangFY # @File:merge_sort.py ''' 此文件实现归并排序: 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法, 该算法
2021-08-24 18:18:22
216
原创 python 实现快速排序
之所以把快速排序放到单独一篇来写,一是这个面试时被问到的概率较大,二是快速排序是分治思想的最简单实现,以上为个人理解,如有不同,欢迎留言指正
2021-08-23 18:39:48
458
原创 python 实现常见的排序算法(冒泡排序,选择排序,插入排序)
python 实现常见的排序算法(冒泡排序,选择排序,插入排序) 这几种排序方法非常简单,直接上代码: 冒泡排序 import random import time ''' 冒泡排序python实现 基本实现原理:每一次遍历选出最大(最小)值 ''' # 自定义装饰器 def timer_count(f): def decor(*args,**kwargs): s_time = time.time() r = f(*args,**kwargs)
2021-08-23 18:23:58
326
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人