- 博客(20)
- 收藏
- 关注
原创 查找排序相关面试题
```pythondef isAnagram(s,t): dice1 = {} dice2 = {} for ch in s: dice1[ch] = dice1.get(ch,0) + 1 for ch in t: dice2[ch] = dice2.get(ch,0) + 1 return dice1 == dice2print(isAnagram('rat', 'car'))
2021-10-20 10:52:54 58
原创 基数排序python
def radix_sort(li): max_num = max(li) it = 0 while 10**it <= max_num: buckets = [[] for _ in range(10)] for var in li: digit = (var // 10 ** it) % 10 buckets[digit].append(var) li.clear() .
2021-10-19 19:50:29 92
原创 桶排序python
def bucket_sort(li,n=100,max_num=10000): buckets = [[] for _ in range(n)] # 创建桶 for var in li: i = min(var // (max_num // n), n-1) # i表示var放到几号桶里 buckets[i].append(var) for j in range(len(buckets[i])-1,0,-1): i..
2021-10-19 17:01:34 73
原创 计数排序python代码
def count_sort(li,max_count=100): count = [0 for _ in range(max_count+1)] for val in li: count[val]+=1 li.clear() for ind,val in enumerate(count): for i in range(val): li.append(ind)import randomli = [random..
2021-10-19 15:42:06 135
原创 逻辑回归学习
import numpy as npdef sigmoid(x): return 1 / (1 + np.exp(-x))def weight(x_train,y_train): m,n = x_train.shape # 初始化参数 theta = np.random.rand(n) # 随机样本位于[0, 1)中 # 学习率 alpha = 0.001 # 迭代次数 cnt = 0 max_ite...
2021-10-18 22:03:09 63
原创 希尔排序及python代码
希尔排序def insert_sort_gap(li,gap): for i in range(gap,len(li)): # i表示摸到的牌的下标 tmp = li[i] j = i - gap # j表示手里牌的下标 while j>=0 and li[j]>tmp: li[j+gap] = li[j] j-=gap li[j+gap] = tmpdef shell_
2021-10-18 19:50:37 243
原创 归并及python代码
归并排序def merge(li,low,mid,high): i = low j = mid + 1 ltmp = [] while i<=mid and j<=high: if li[i]<li[j]: ltmp.append(li[i]) i+=1 else: ltmp.append(li[j]) j+=1 whi
2021-10-18 16:45:23 52
原创 模型评估方法
机器学习中问题分为四大类:分类:预测是离散值比如把人分为好人和坏人之类的学习任务二分类:只涉及两个类别的分类任务多分类:涉及多个类别的分类回归:预测值是连续值比如你的好人程度达到了0.9,0.6之类的聚类:把训练集中的对象分为若干组监督学习和无监督学习机器学习流程评估方法...
2021-10-13 15:14:54 59
原创 快速排序及python代码
快速排序的原理:1.列表最左边的元素归位2.递归def partition(data_list,left,right): temp = data_list[left] while left < right: while left < right and data_list[right] >= temp: right -= 1 data_list[left] = data_list[right]
2021-10-09 17:50:44 47
原创 插入排序及代码
插入排序def insert_sort(li): for i in range(1,len(li)): # i表示摸到的牌的下标 tmp = li[i] j = i-1 # j指的是手里的牌的下标 while j>=0 and li[j]>tmp: li[j+1] = li[j] j -= 1 li[j+1] = tmp li = [1,4,7,2,8
2021-09-27 09:28:35 56
原创 选择排序及python
原理1.一趟排序记录最小的数,放到第一位2.算法关键点:有序区和无序区、无序区最小数的位置def select_sort(li): for i in range(len(li)-1): min_val = i for j in range(i+1,len(li)): if li[j]<li[min_val]: min_val = j li[i],li[min_val] = li[min
2021-09-26 21:00:55 48
原创 冒泡排序及python代码
原版列表每两个相邻的数,如果前面比后面大,则交换这两个数一趟排序完成后,则无序区减少一个数,有序区增加一个数代码关键点:趟,无序区范围def bubble_sort(li): for i in range(len(li)-1): for j in range(len(li)-i-1): if li[j]>li[j+1]: li[j], li[j+1] = li[j+1], li[j] print
2021-09-26 20:04:01 200
原创 列表排序算法
排序:将一组“无序”的记录序列调整为“有序”的记录序列列表排序:将无序列表变为有序列表输入:列表输出:有序列表内置排序函数:sort()
2021-09-25 09:27:15 189
原创 顺序查找与二分查找
查找查找:在一些数据元素中,通过一定的方法与给定的关键字相同的数据元素的过程。输入:列表,待查找元素输出:元素下标(未找到的元素返回None或者-1)内置列表查找函数:index()顺序查找顺序查找:从列表第一个元素开始,顺序进行搜索,直到找到元素或者搜索到列表的最后一个元素。def linear_search(data_set,var): for i in range(len(data_set)): if data_set[i] == var:
2021-09-25 08:46:54 54
原创 递归及汉诺塔
递归的两个条件调用自身结束条件例子1def func1(x): if x>0: func1(x-1) print(x) 假设x = 3,输出结果为:1,2,3例子2def func2(x): if x>0: print(x) func2(x-1) 假设x = 3,输出结果为:3,2,1例子3 汉诺塔n = 2时:把小圆盘从A移动到B把大圆盘从A移动到C把小圆盘从B移动到C当盘子数n = k时,把前k-1个盘子当作一个小圆盘子
2021-09-24 16:43:23 70
原创 算法复杂度
这里写自定义目录标题欢迎使用Markdown编辑器新的改变~~功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用M
2021-09-24 15:13:12 68
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人