python算法
来!拿我键盘来!
狗粮就在我面前可我怎么都够不到
展开
-
《算法图解》笔记一
笔记新的指令演说文稿三级目录新的指令 import turtle as t form turtle import* pen = turtle.pen()演说文稿时间复杂度无非就是while循环的次数!总共有n个元素,渐渐跟下去就是n,n/2,n/4,…n/2^k(接下来操作元素的剩余个数),其中k就是循环的次数由于你n/2k取整后>=1即令n/2k=1可得k=log2n,(是以2为底,n的对数所以时间复杂度可以表示O(h)=O(log2n)三级目录...原创 2021-08-02 16:55:10 · 54 阅读 · 0 评论 -
红黑树(接上面的数组&链表)
红黑树红黑树是一种平衡的二叉查找树.应用于关联数组.特点(6):1根节点是黑色的2节点是黑色或红色3所有子节点是黑色的4红色节点下的两个子节点都是黑色的5所有的路径的节点数量相同6二叉树进行插入和删除操作时通过特定操作会使它获得很好的查找性能二叉查找树在前面的二分查找提到了一个登陆网站提供用户名,以后登录在庞大数组中查找用户名怎样快速并省时间的查找的方法.就是二分查找.而有一个人设计了一个数据结构就是二叉查找树.缺点无法随机访问左子节点总比右子节点小关联数组...原创 2021-08-02 16:54:26 · 203 阅读 · 0 评论 -
递归三部曲 谢尔宾斯基三角形
谢尔宾斯基三角形介绍发现时间构造标题二级目录三级目录介绍发现时间谢尔宾斯基三角形是由波兰数学家瓦茨瓦夫-弗朗西斯克在1915年被发现构造画一个实心的等边三角形沿三边中点的连线,将他分成四个小三角形去掉中间的那一个小三角形对其余三个小三角形重复执行一标题二级目录三级目录...原创 2021-08-02 16:53:08 · 192 阅读 · 0 评论 -
2021-06-24开始笔记
TuShare _财经所需条件安装python下载地址:https://www.python.org/ftp/python/3.7.8/python-3.7.8-amd64.exe64位处理器 3.7.8版必须是Windows6以上Windows7以上可以下载3.9python下载官网:https://www.python.org/downloads/windows/详细下载教程友情转载安装pandas安装lxml...原创 2021-08-02 16:52:45 · 55 阅读 · 0 评论 -
数组&链表
二叉查找树的特性1.左子树上所有结点的值均小于或等于它的根结点的值。2.右子树上所有结点的值均大于或等于它的根结点的值。3.左、右子树也分别为二叉排序树。示例:1.查看节点92.因为10 > 9,所以查看右孩子133.因为10 < 13,所以查看左孩子113.因为10 < 11,所以查看左孩子104.所以查找到了节点10而这种方法真是二分查找的思想查找所需的最大次数就是二叉查找树的高度再插入结点的时候也是用类似的方法通过一层层的比较再插入数组二叉查找树的缺陷翻译 2021-08-02 16:51:31 · 68 阅读 · 0 评论 -
pandas学习日志(一)
]提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.pandas的库2.读取数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1翻译 2021-08-02 16:50:14 · 144 阅读 · 0 评论 -
十大经典排序算法(python实现)(1~6)
十大经典排序算法(python实现)1冒泡排序2选择排序3插入排序4希尔排序5归并排序6快速排序7堆排序8计数排序9桶排序10基数排序1冒泡排序冒泡排序是一种非常简单的排序方法。一直重复地检查数列直到顺序正确,每次检查都比较两个元素来经行对比,如果它前面比后面大就把它们交换。2选择排序3插入排序4希尔排序5归并排序6快速排序7堆排序8计数排序9桶排序10基数排序...原创 2021-07-29 15:15:38 · 179 阅读 · 0 评论 -
到底什么是股票?(第一章)(股票篇)
股票股票是所发行公司所有权的一种证明。什么是控股比如说公司aq已经上市一共有一亿个你掌握了一千万个就说明你控股aq公司的10%什么是庄家这就像一个战略游戏股票是本钱而掌握本钱做多的玩家就是庄家而又有一个掌握本钱第二多的玩家认为的战略走向和主流不同NO.1和NO.2的玩家就会在战略游戏里厮杀(这就是我们耳熟能详的多空博弈)股价和资金的关系他们两个的关系就像水和船一样但股价大幅度上涨时就表明有大量资金涌入(这就是水涨船高)为什么会有股票股票就像是发行公司在向股民筹资金而股票就原创 2021-06-28 16:51:53 · 77 阅读 · 0 评论 -
《算法图解》日志七(python)(快速排序)
快速排序介绍知识站点空间复杂度原理步骤代码小结介绍快速排序,简称"快排"(是最快的排序算法’是平均情况下’。在平均情况下运行n个项目O(n log n)(大O表示法)知识站点空间复杂度原理步骤从数列中挑出一个项目称为"基准"重新排列数列,所有比基准小的数摆在基准值前面;所有比基准值大的摆在基准值后面(相同的数摆在任何一边)'这种操作称为分区,这个分区执行完后这个基准值就在数列的中间。使用递归去执行前面的内容,知道数列的大小是一或者零.开始挑出基准结束排列数列递归执行数列=一,零否是#原创 2020-08-10 20:23:42 · 207 阅读 · 2 评论 -
2020-08-06
import turtle as t#导入turtle库def get_midpoint(a,b):#建立方法找中心点 ax , ay = a bx , by = b return (ax + bx) / 2 , (ay + by) / 2def draw_triangle(a, b, c): t.speed(0) ax, ay = a bx, by = b cx, cy = c t.penup() t.goto(a原创 2020-08-06 21:21:01 · 115 阅读 · 0 评论 -
汉诺塔算法
//汉诺塔问题 //输出移动的步骤 #include <stdio.h>//记录步数 int i = 1; //n 第几号盘移动, from 移动塔 to 目标塔 void move(int n, char from,char to){ printf("第%d次移动第%d号盘: %c----->%c\n",i++,n,from,to); } void hanoi(int n,char from,char mid,char to){ if(n==1){原创 2020-08-07 22:39:10 · 124 阅读 · 0 评论 -
可视化冒泡排序
import turtle#导入turtle库import time#导入time库import random#导入random库pen = turtle.Pen()#使用pen代替turtle因为后面要设置turtle的画布会冲突所以用pen代替def block(pen, higth):#创建方法长方型导入数值长方形的高,和代替turtle的pen pen.fillcolor(random.random(), random.random(), random.random()转载 2020-07-30 17:48:36 · 1001 阅读 · 0 评论 -
《算法图解》日志六(python)(递归)
递归介绍示例代码递归函数基线条件和递归条件栈小结介绍程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进原创 2020-07-29 15:40:40 · 197 阅读 · 0 评论 -
《算法图解》日志五(python)(选择排序)
这里写目录标题一级目录二级目录三级目录@[TOC](这里写目录标题)一级目录二级目录三级目录@[TOC](这里写目录标题)一级目录二级目录三级目录@[TOC](这里写目录标题)一级目录二级目录三级目录@[TOC](这里写目录标题)一级目录二级目录三级目录@[TOC](这里写目录标题)一级目录二级目录三级目录@[TOC](这里写目录标题)一级目录二级目录三级目录@[TOC](这里写目录标题)一级目录二级目录三级目录@[TOC](这里写目录标题)一级目录二级目录三级目录@[TOC](这里写目录标题)一级目录二级原创 2020-07-29 14:17:08 · 118 阅读 · 0 评论 -
《算法图解》日志四(python)(狄克斯特拉算法)
狄克斯特拉算法介绍规则知识站点负权边作用定义实现python代码java代码权重有、无向图示例举例介绍规则找出最便宜的节点,即最短时间内前往的节点对于该节点的邻居,检查是否有前往他们的最短路径,如果有,就更新其开销重复这个过程,知道对图中的每个节点都这样做了计算最终路径知识站点负权边狄克斯特拉算法不支持包含负边权的图,因为,狄克斯特拉算法这样假设:对于处理过的海报节点,没有前往该节点的更短的路径。包含负边权的图,可使用贝尔曼-福德算法(bellman-Ford algorithm)。原创 2020-07-28 20:51:29 · 220 阅读 · 0 评论 -
《算法图解》日志三(python)(广度优先搜索)
广度优先搜索介绍示例,依赖的树介绍广度优先搜索算法(英语:Breadth-First-Search,缩写为BFS),又译作宽度优先搜索,或横向优先搜索,是一种图形搜索算法。简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。广度优先搜索的实现一般采用open-closed表。示例,依赖的树就拿你早上活动的事情来举例吧:起床锻炼刷牙打包午饭洗澡吃早餐穿衣服...原创 2020-07-27 22:40:48 · 179 阅读 · 0 评论 -
《算法图解》日志二(python)(大O表示法)
大O表示法大O表示法介绍三级目录大O表示法介绍大O表示法指出了最糟糕情况下的运行时间算法的速度指的并非时间,而是操作数的增速。1。谈论算法的速度时,我们说的是随着输入的增加,其运行时间将以什么样的速度增加。2.算法的运行时间用大O表示法表示。3. O(log n)比O(n)快,当需要搜索的元素越多时,前者比后者快得越多。常见大O时间摘自《算法图解》三级目录...原创 2020-07-27 20:17:55 · 144 阅读 · 0 评论 -
《算法图解》日志一(python)(二分查找法)
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列原创 2020-07-26 18:47:23 · 215 阅读 · 0 评论