
python
分享自己学习的内容,对自己学习的内容进行总结和巩固
华强笔记
养成输出的好习惯,见证自己慢慢地成长。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python实现排序算法lowb三人组之插入排序
插入排序思想:将一个列表看成一个有序列表和无序列表,从无序列表中的第一个数据插入到已经排好序的列表中,从而得到一个新的有序的数据数+1的列表实现:总共两个循环,外循坏是表示要插入的元素,共需插入n-1趟,内循环是对当前有序数列进行插入位置查找,并把数据插入到该位置中代码实现def insert_sort(li): for i in range(1,len(li)): #表示要插入的数据的下标 temp = li[i] j = i-1 whil原创 2021-09-16 09:48:28 · 177 阅读 · 0 评论 -
python实现排序算法NB三人组之快速排序
快速排序思想:先使得数列中第一个数排在数列中正确的顺序,左边的数都不大于该数,右边的数都不小于该数再用递归使得整个数列排序成功代码如下:#使得数列中第一个数排在数列中正确的顺序,左边的数都不大于该数,右边的数都不小于该数def partition(li,left,right): temp = li[left] while left<right: while left < right and li[right]>=temp:#从右边找比temp小的数原创 2021-09-16 10:18:00 · 191 阅读 · 0 评论 -
python实现希尔排序
希尔排序代码如下:'''希尔排序:排序的时间复杂度由gap决定,一般比low b三人组要快,比NB三人组要慢基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录"基本有序"时,再对全体记录进行依次直接插入排序。'''def insert_sort_gap(li,gap): for i in range(gap, len(li)): temp = li[i] j = i - gap whil原创 2021-09-16 18:21:41 · 178 阅读 · 0 评论 -
python排序算法之桶排序
桶排序主要适用于全是数字的列表排序代码如下:def buckrt_sort(li, n=100, max_num=10000): bucket = [[] for _ in range(n)] #创建桶 for var in li : i = min(var//(max_num//n), n-1)#第i个桶 bucket[i].append(var)#在每个桶中加入相对应的数 for j in range(len(bucket[i])-原创 2021-09-16 21:47:37 · 487 阅读 · 0 评论 -
python实现排序算法lowb三人组之选择排序
选择排序思想:找到列表中第i小的数据,与列表中第i个数据交换位置,即每趟排好一个数的序,共排n-1趟完成排序(从小到大排序)代码如下:def select_sort(li): for i in range(len(li)-1): #i是第几趟,总共n-1趟 min_loc = i #最开始假设最小值为无序区第一个数的下标, for j in range(i+1,len(li)):#在无序区中找到最小值的下标 if原创 2021-09-14 08:01:15 · 171 阅读 · 0 评论 -
python实现排序算法lowb三人组之冒泡排序
冒泡排序:1.从头开始两两数据相比,如果左边数比右边数大则交换两个数的位置2.每一趟排序,有序区多一个数,无序区少一个数,总共需要排n-1趟3.改进的冒泡排序需要加个标志位判断是否需要继续排序,如果是已经排好序的列表改进的冒泡只需要排序一趟,而没有改进的需要排序n-1趟4.python代码如下:#从大到小排序def bubble_sort(li): for i in range(len(li)-1): # 排序n-1趟 for j in range(len(li)-i-1原创 2021-09-13 11:28:11 · 174 阅读 · 0 评论 -
python实现排序算法NB三人组之归并排序
归并排序思想:归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。代码如下:# 从两个有顺序的列表里边依次取数据比较,把li[low,mid]和li[mid,right]看做是两个列表,# 每次我们分别拿出两个列表中最小的数比较,把较小的放入tempdef merge(li, low原创 2021-09-16 16:14:48 · 190 阅读 · 0 评论 -
python实现排序算法NB三人组之堆排序,以及topK问题实现
堆排序代码如下:'''堆排序:时间复杂度:O(n*logn)实现较大数据n的topk问题'''def sift(li, low, high): ''' :param li: 列表 :param low: 根节点 :param high: 最后一个节点 :return: ''' i = low j = 2*i+1 #j是i的左孩子 temp = li[low] #把堆顶存起来 while j<=high:原创 2021-09-16 18:10:36 · 171 阅读 · 0 评论 -
python排序算法之基数排序
#代码如下:'''基数排序:1.把数据分为10个桶,以为数字有0-9这10个2.依次把数据的个位,十位,百位等等各个位数的数据进行分桶,放在这10个桶中3.最大的数有k位,则循环k次4.时间复杂度O(kn),空间复杂度O(k+n),其中k=log10(n)+1''''''基数排序:1.把数据分为10个桶,以为数字有0-9这10个2.依次把数据的个位,十位,百位等等各个位数的数据进行分桶排序,放在这10个桶中3.最大的数有k位,则循环k次4.时间复杂度O(kn),空间复杂度O(k+n原创 2021-09-16 22:45:55 · 456 阅读 · 2 评论 -
python实现简单爬虫和数据可视化-爬取豆瓣top250电影信息
此内容全程跟着成都工业大学的李巍老师爬虫入门视频敲的代码,如有侵权删观看的视频链接如下:李巍老师爬虫入门视频整个爬虫可分为三个部分:1. 爬取网页-“https://movie.douban.com/top250?start=0”2.解析数据,打开自己要爬取的网站,进入开发者工具3. 保存自己想要的数据到excel4.具体代码如下,当出现403时,可以换一个"User-Agent"#coding = utf-8#version:python 3.6.0#Tools:Pycharm 2018原创 2021-09-03 16:51:26 · 2453 阅读 · 0 评论 -
简单有限元分析python实现——二维1单元4节点刚度矩阵求解然后得到4个节点的位移和力
2020数值分析作业,已成功实现功能,可直接复制代码就能实现1、先给出大概的理论推导过程这里取高斯点坐标为Ɛ=-Ƞ=1/,权重为W1=W2=12、边界条件和解题思路如下3、源代码双手奉上from math import *import numpy as np# from my_inv import invmat # 自己在网上看的矩阵求逆方法# from LU import my_LUsolve # LU解线性方程# 1个单元四个节点def shapefunction原创 2020-06-09 21:41:32 · 7076 阅读 · 6 评论 -
LU分解解线性方程组python实现
本人是湖南大学的一名力学学生,2020年上数值分析课时写下的作业,希望对大家有所帮助,一起进步。1、下面是自己整理的LU解线性方程组的基本理论。2、接下来是python实现代码import numpy as npdef LU(A): ''' 生成值全位0的U矩阵,和单位矩阵L ''' L = np.eye(len(A)) U = np.zeros(np.shape(A)) for r in range(1, len(A)): # 求U的第一行和原创 2020-06-09 18:28:32 · 6478 阅读 · 0 评论 -
深入浅出的分析python 中if __name__ == __main__的用处和原理!!!
1.先说作用控制某些代码在本py文件中执行,而防止被import其它py文件时被执行,也就是说当咱们希望有些代码只在本文件中执行,而不想被import到其它文件中执行的时候咱们就需要使用到"if_name_ == ‘_main_’ "了。2.下面我用test01 和import_test01两个py文件来说明,代码如下所示:3.原理解释从test01和import_test01运行结果可以看出,print(two)没有在import_test01中执行,即two没有在import_test01打原创 2021-08-22 21:38:02 · 237 阅读 · 0 评论 -
python 3.6 print(f“),print(.format) 与 print()到底有何异同?
1.例子如下:a, b = 1, 2print('%d + %d = %d' % (a, b, a +b))2.当然,我们也可以用字符串提供format方法a, b = 1, 2print('{0} + {1} = {2}'.format(a, b, a + b))3.在Python 3.6以后呢,格式化字符串还有更简洁的书写方式,就是在字符串前加上字母f,如下所示:a, b = 1, 2print(f'{a} + {b} = {a + b}')...原创 2021-08-21 22:08:24 · 1329 阅读 · 0 评论