首先,抛出一条梗 2!=2,它对不对?需求题目:输入任意数字(整数),计算阶乘并显示公式和计算结果。其次,阶乘公式建议百度下。比如2!=2*1=2下面进入主题,如何计算阶乘。1、接收数字,转为整数类型input_num=int(input(‘input a number:‘))2、拼接计算公式,比如3!=3*2*1‘x‘.join(lst) # lst:list各元素必须是str类型3、计算结果,64、综合结果3!=3*2*1=6 再扩展下,可以对输入的字符串做判断,并根据不同的内容做出不同的...
冒泡排序顾名思义,冒泡排序直观的意思是气泡越大冒的越快:),对应到我们的列表中就是数字最大的先选出来,然后依次进行。例如 myList = [1,4,5,0,6],比较方式为: 相邻的两个数字先进行比较,也就是myList[0]和myList[1],发现不是">"的关系,就继续比较myList[1]和myList[2]。。。依次进行,发现myList[2]>myList[3](及5>0),就进行交换,所以走完第一次全列表比较得到新列表[1,4,0,5,6],然后每一次扫描得到的新列表如下: ...
本篇主要实现九(八)大排序算法,分别是冒泡排序,插入排序,选择排序,希尔排序,归并排序,快速排序,堆排序,计数排序。希望大家回顾知识的时候也能从我的这篇文章得到帮助。原文:https://www.cnblogs.com/huang-yc/p/9774287.html概述十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比...
十大基本排序算法
排序算法是《数据结构与算法》中最基本的算法之一。
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。这里使用python实现这十大排序算法。
一、冒泡排序
算法步骤
比较...
一、二分查找 1 def binary(binary_para, search):2 bi = int(len(binary_para)/2)3 if search == binary_para[0]:4 print(数存在,并存在在列表第一位)5 elif len(binary_para)>1:6 if binary_para[bi] > search:7 print(分段值(前):,binary_para[bi])8 binary(binary_para[:bi],search)9 elif binary_para[bi] < search:
10 print(分段值(后):,b...
该系列博客的内容均为阅读《Grokking Algorithms》(Aditya Bhargava)的心得or笔记or总结
那么我们就直接进入正题吧
简单查找
这个算法应该是最普通的算法or最直接的算法了
工作原理:
在一数组里面找一个数
按顺序一个一个查找
如果匹配,则返回索引
如果在过完一遍数组都没有匹配到,则输出none
代码展示(python): 1 def Simple_Search(list, item):2 for i in range(0, len(list) - 1):3 if list[i] == ite...
机器学习基础算法__python实现(基于numpy等基础库)
?# 博客转自https://blog.csdn.net/weixin_39561100/article/details/80879211
主要是将《机器学习实战》中的算法实现一遍,后续会慢慢更新......
决策树ID3分类的实现:https://github.com/ZhangXiangCHN/Demo/blob/master/DecisionTree_for_ID3.py
K近邻算法的实现(基于矩阵计算):https://github.com/ZhangXiangCHN/Demo/blob/master/KNN.py
逻辑回归算法的实现:https://gith...