E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Python算法+数据结构笔记
数据结构笔记
(考研)
目录一、算法概述算法的定义:基本特性:算法的基本要求存储结构与逻辑结构二、数据的逻辑结构集合结构线性结构线性表广义表顺序表数组:查找算法栈队列单链表循环链表双链表递归斐波那契数列汉诺塔问题串排序算法计算交换排序冒泡排序快速排序插入排序直接插入排序希尔排序选择排序简单选择排序堆排序归并排序基数排序树形结构链式存储的二叉树创建二叉树:前序、中序、后序遍历查找节点删除节点顺序存储的二叉树线索二叉树赫夫曼
孳竹
·
2023-11-21 06:40
证书人生
数据结构
算法
数据结构笔记
-DAG有向无环图
一图的基本概念图(Graph):是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。无向边:若顶点Vi和Vj之间的边没有方向,称这条边为无向边(Edge),用(Vi,Vj)来表示。有向边:若从顶点Vi到Vj的边有方向,称这条边为有向边,也称为弧(Arc),用来表示,其中Vi称为弧尾(Tail),Vj称为弧头(Head
米兰的大笨钟
·
2023-11-20 23:34
数据结构
数据结构
Python算法
——树的镜像
Python中的树的镜像算法详解树的镜像是指将树的每个节点的左右子树交换,得到一棵新的树。在本文中,我们将深入讨论如何实现树的镜像算法,提供Python代码实现,并详细说明算法的原理和步骤。树的镜像算法树的镜像可以通过递归遍历树的每个节点,交换其左右子树来实现。递归的终止条件是遇到null节点,此时无需进行交换。classTreeNode:def__init__(self,value):self.
Echo_Wish
·
2023-11-20 16:56
数据结构与算法
Python
笔记
Python算法
python
算法
开发语言
Python算法
——最近公共祖先
Python中的最近公共祖先(LowestCommonAncestor,LCA)算法详解最近公共祖先(LowestCommonAncestor,LCA)是二叉树中两个节点的最低共同祖先节点。在本文中,我们将深入讨论最近公共祖先问题以及如何通过递归算法来解决。我们将提供Python代码实现,并详细说明算法的原理和步骤。最近公共祖先问题给定一个二叉树和两个节点p、q,找到这两个节点的最近公共祖先。递归
Echo_Wish
·
2023-11-20 00:09
数据结构与算法
Python
笔记
Python算法
算法
python
开发语言
Python算法
——树的子树
Python中的树的子树判定算法详解树的子树判定是指判断一个树是否是另一棵树的子树。在本文中,我们将深入讨论树的子树判定问题以及如何通过递归算法来解决。我们将提供Python代码实现,并详细说明算法的原理和步骤。树的子树判定问题给定两棵二叉树,判断其中一棵树是否是另一棵树的子树。子树的定义是在原树中任意节点与其所有后代形成的树。递归算法求解子树判定问题递归算法是求解子树判定问题的一种常见方法。我们
Echo_Wish
·
2023-11-20 00:09
Python
笔记
数据结构与算法
Python算法
python
算法
开发语言
Python算法
——树的直径
Python中的树的直径算法详解树的直径是树中任意两个节点之间最长路径的长度。在本文中,我们将深入讨论树的直径问题以及如何通过深度优先搜索(DFS)算法来解决。我们将提供Python代码实现,并详细说明算法的原理和步骤。树的直径树的直径定义为树中任意两个节点之间最长路径的长度。这个路径不一定经过根节点。直径的计算通常是通过计算树中每个节点为起点的最长路径,然后取其中的最大值。深度优先搜索算法求解树
Echo_Wish
·
2023-11-20 00:08
Python算法
数据结构与算法
Python
笔记
python
算法
开发语言
Python算法
——树的最大深度和最小深度
Python中的树的最大深度和最小深度算法详解树的最大深度和最小深度是树结构中的两个关键指标,它们分别表示树的从根节点到最深叶子节点的最大路径长度和最小路径长度。在本文中,我们将深入讨论如何计算树的最大深度和最小深度,并提供Python代码实现。我们将详细说明算法的原理和步骤。计算树的最大深度树的最大深度是指从根节点到最深叶子节点的最大路径长度。我们可以通过递归遍历树的左右子树来计算树的最大深度。
Echo_Wish
·
2023-11-20 00:59
数据结构与算法
Python算法
Python
笔记
python
算法
开发语言
python算法
例11 整数排序
1.问题描述给出一组整数,将其按照升序排列。2.问题示例给出[3,2,1,4,5],排序后的结果为[1,2,3,4,5]。3.代码实现#非算法实现nums=[3,2,1,4,5]sorted_nums=sorted(nums)print(sorted_nums)#输出[1,2,3,4,5]#定义了一个名为bubble_sort()的函数,它使用冒泡排序算法对传入的列表进行升序排序。#然后我们创建了
北辰Charih
·
2023-11-19 09:28
Python算法
python
算法
【我和
Python算法
的初相遇】——体验递归的可视化篇
个人主页:Aileen_0v0系列专栏:PYTHON数据结构与算法学习系列专栏"没有罗马,那就自己创造罗马~"目录递归的起源什么是递归?利用递归解决列表求和问题递归三定律递归应用-整数转换为任意进制数递归可视化画一个正方形画一个五角星画一个九边形画圆形画一个等腰三角形利用递归画一个螺旋利用递归画一颗分形树利用递归画一个谢尔平斯基三角形递归的起源递归是一种算法,它利用函数的自身调用来解决问题。递归的
Aileen_0v0
·
2023-11-19 07:43
数据结构与算法
python
开发语言
数据结构
算法
迭代加深
线性回归
前端
python算法
例15 合并数字
1.问题描述给出n个数,将这n个数合并成一个数,每次只能选择两个数a、b合并,合并需要消耗的能量为a+b,输出将n个数合并成一个数后消耗的最小能量。2.问题示例给出[1,2,3,4],返回19,即选择1、2合并,消耗3能量;现在为[3,4,3],选择3、3合并,消耗6;现在为[6,4],剩下两个数合并,消耗10,一共消耗19。给出[2,8,4,1],返回25,即选择1、2合并,消耗3能量;现在为[
北辰Charih
·
2023-11-19 06:49
Python算法
算法
python
python算法
例14 整数加法
1.问题描述给定两个整数a和b,求它们的和。2.问题示例输入a=8,b=2,输出10;输入a=-2,b=2,输出0。3.代码实现defaddTwoNumbers(a,b):returna+b#测试示例print(addTwoNumbers(8,2))#输出10print(addTwoNumbers(-2,2))#输出0定义了一个函数addTwoNumbers(),它接受两个整数a和b作为输入,并返
北辰Charih
·
2023-11-19 06:48
Python算法
算法
python
python算法
例12 整数替换
1.问题描述给定一个正整数n,如果n为偶数,将n替换为n/2;如果n为奇数,将n替换为n+1或n-1,那么将n转换为1,最少的替换次数为多少?2.问题示例输入8,输出3,即8→4→2→1;输入7,输出4,即7→8→4→2→1,或者7→6→3→2→1。3.代码实现defminStepsTo1(n):count=0whilen>1:ifn%2==0:n//=2else:ifn==3orbin(n).c
北辰Charih
·
2023-11-19 06:18
Python算法
python
算法
python算法
例13 两个整数相除
1.问题描述要求不使用乘法、除法和mod运算符,实现两个整数相除,如果溢出,返回2147483647。2.问题示例给定被除数100,除数9,返回11。3.代码实现使用减法来实现两个整数的相除,同时检查溢出情况defdivide(dividend,divisor):#特殊情况处理ifdivisor==0:returnfloat('inf')ifdividend==0:return0#判断结果的符号n
北辰Charih
·
2023-11-19 06:44
Python算法
python
算法
866
数据结构笔记
- 第五章 树和二叉树
湖大计学考研系列文章目录22湖南大学计算机学硕上岸经验22湖南大学866数据结构真题(回忆版)866数据结构重点内容866数据结构模拟题(一)及解析866
数据结构笔记
-第一章绪论866
数据结构笔记
-第二章线性表
前世忘语
·
2023-11-18 19:56
考研
数据结构
经验分享
b树
【
python算法
】迪杰斯特拉算法 python实现
迪杰斯特拉算法文章目录迪杰斯特拉算法简介核心思想贪心算法的优缺点运行过程代码伪代码Python代码简介迪杰斯特拉算法的是用于图搜索的一种算法,其作用是图中搜索出单源最短路径。单源最短路径问题是一个给定起始点和目标点,在图中搜索出由起始点到目标点最短路径问题。核心思想迪杰斯特拉算法是贪心算法。表现在于每次只扩展累计代价值最小的节点。贪心算法的优缺点优点:逻辑正确的贪心算法有复杂度低、代码量小、运行效
SUNX-T
·
2023-11-16 16:54
Python
python
算法
数据结构笔记
:R+树
R+树是R树的一个变种对于如下R树,当查询区域W的时候,会比较麻烦——毕竟他即在A中,也在B中,两个区域都需要查询因此R+树是通过分裂矩形来减少彼此间的重叠对于上图情况将G进行拆分:得到生成的R+树这样对于原先的查询区域W,可以直接定位到P,进而到HR+树对于点查询的性能较好,但是由于一个特定的对象可能包含于多个结点中(例如上图的G),因此需要更多空间,增加了树的高度,对于区域查询效果较差同时更新
UQI-LIUWJ
·
2023-11-16 12:24
算法
笔记
python用递归方式实现最大公约数_
Python算法
——递归思想
编程语言在构建程序时的基本操作有:内置数据类型操作、选择、循环、函数调用等,递归实际属于函数调用的一种特殊情况(函数调用自身),其数学基础是数学归纳法。递归在计算机程序设计中非常重要,是许多高级算法实现的基础编写递归程序的几个要点:1、终止条件:最简单情况(避免无限循环)2、递归公式:相邻两次调用间的关系(递归算法核心)3、忽略调用具体细节:假设所有调用都会达到终止条件(从思想上接受递归算法的关键
weixin_39604280
·
2023-11-15 16:17
python用链表求两数之和_python 算法 - 008 计算两个链表所代表的整数之和 (整数相加法)...
python算法
-008计算两个链表所代表的整数之和(整数相加法)知之者不如好之者,好之者不如乐之者.
点点0605
·
2023-11-15 16:46
python用链表求两数之和
Python算法
——平衡二叉树(AVL)
Python中的平衡二叉搜索树(AVL树)算法详解平衡二叉搜索树(AVL树)是一种自平衡的二叉搜索树,它通过在插入或删除节点时进行旋转操作来保持树的平衡性。在AVL树中,任何节点的两个子树的高度差(平衡因子)最多为1。这种平衡性质确保了AVL树的高度始终是对数级别,使得查找、插入和删除等操作的时间复杂度保持在O(logn)。在本文中,我们将深入讨论AVL树的原理,并提供Python代码实现。AVL
Echo_Wish
·
2023-11-15 12:45
数据结构与算法
Python
笔记
Python算法
python
算法
开发语言
Python算法
——二叉搜索树
Python中的二叉搜索树(BinarySearchTree,BST)算法详解二叉搜索树是一种常见的树状数据结构,具有有序性质。在二叉搜索树中,每个节点的值大于其左子树中的任何节点值,小于其右子树中的任何节点值。这种有序性质使得二叉搜索树具有高效的查找、插入和删除操作。在本文中,我们将深入探讨二叉搜索树的原理,并提供Python代码实现。二叉搜索树的特性对于二叉搜索树中的每个节点,其左子树的所有节
Echo_Wish
·
2023-11-15 12:45
数据结构与算法
Python
笔记
Python算法
python
算法
开发语言
Python算法
——广度优先搜索
Python中的广度优先搜索算法详解广度优先搜索(Breadth-FirstSearch,BFS)是一种用于遍历或搜索树、图等数据结构的算法。在BFS中,我们从起始节点开始,首先访问起始节点,然后逐层访问该节点的邻居节点,直到访问完当前层的所有节点,再按照层次顺序逐层访问下一层的节点。在本文中,我们将详细讨论BFS的原理,并提供Python代码实现。广度优先搜索的原理广度优先搜索的核心思想是通过队
Echo_Wish
·
2023-11-15 12:15
数据结构与算法
Python
笔记
Python算法
算法
python
宽度优先
Python算法
——树的重建
Python中的树的重建算法详解树的重建(TreeReconstruction)是一种从给定的遍历序列中恢复原树结构的算法。在本文中,我们将讨论树的重建问题以及常见的重建算法,包括先序遍历和中序遍历序列重建二叉树,以及层序遍历序列重建二叉树。我们将提供Python代码实现,并详细说明每个算法的原理和步骤。1.先序遍历和中序遍历序列重建二叉树给定一个二叉树的先序遍历序列和中序遍历序列,我们可以通过递
Echo_Wish
·
2023-11-15 12:42
数据结构与算法
Python
笔记
Python算法
算法
python
数据结构
Python算法
例9 罗马数字转换为整数
1.问题描述给定一个罗马数字,将其转换为整数,要求返回结果的取值为1~3999。2.问题示例Ⅳ→4,Ⅻ→12,ⅩⅪ→21,XCVI→99。3.代码实现defroman_to_int(s):roman_map={'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000}prev_value=0result=0foriinrange(len(s)-1,-1,
北辰Charih
·
2023-11-14 18:03
Python算法
算法
python
Python算法
例7 四数乘积
1.问题描述给定一个长度为n的数组a和一个正整数k,从数组中选择四个数,要求四个数的乘积小于等于k,求方案总数。2.问题示例给定n=5,a=[1,1,1,2,2],k=3,返回2。3.代码实现#使用嵌套循环的方式来求解。首先,我们可以将数组a排序,#然后使用四重循环遍历所有可能的四个数的组合。#在每次循环中,我们计算四个数的乘积,并将符合条件(小于等于k)的组合计数。defcount_combin
北辰Charih
·
2023-11-14 18:33
Python算法
算法
python
Python算法
例8 将整数A转换为B
1.问题描述给定整数A和B,求出将整数A转换为B,需要改变bit的位数。2.问题示例把31转换为14,需要改变2个bit位,即:(31)10=(11111)2,(14)10=(01110)2。3.代码实现defbit_diff_count(A,B):count=0diff=A^Bwhilediff:count+=diff&1diff>>=1returncountA=31B=14result=bit
北辰Charih
·
2023-11-14 18:33
Python算法
算法
python算法
中的机器学习算法之半监督学习和强化学习(详解)
目录学习目标:学习内容:1.半监督学习(Semi-SupervisedLearning)Ⅰ.基于图的半监督学习
除不掉的灰色
·
2023-11-14 05:27
算法设计与分析
人工智能
机器学习
ai
算法
python
python算法
中的机器学习算法之监督学习知识点(详解)
目录学习目标:学习内容:Ⅰ.线性回归(LinearRegression)Ⅱ.逻辑回归(LogisticRegression)
除不掉的灰色
·
2023-11-14 05:27
算法设计与分析
机器学习
人工智能
算法
python
ai
Python算法
练习 11.6
leetcode994腐烂的橘子在给定的mxn网格grid中,每个单元格可以有以下三个值之一:值0代表空单元格;值1代表新鲜橘子;值2代表腐烂的橘子。每分钟,腐烂的橘子周围4个方向上相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回-1。示例1:输入:grid=[[2,1,1],[1,1,0],[0,1,1]]输出:4示例2:输入:grid=[[2,1
Michelle209
·
2023-11-13 18:55
算法练习
python
算法
数据结构笔记
(c++版,期末复习)
目录一、绪论1.数据结构基本概念2.算法定义与特征二、线性表1.线性表的定义2.顺序表的存储结构3.链式存储结构三、栈和队列1、栈的基本概念2.队列的基本概念3.循环队列四、字符串和多维数组1.字符串的基本概念2.串的简单模式匹配3.多维数组3.1数组的定义3.2数组的特点3.4数组的存储结构与寻址——一维数组3.5数组的存储结构与寻址——二维数组4.矩阵的压缩存储4.1.概念4.2对称矩阵4.3
putellas
·
2023-11-13 15:09
数据结构
c++
学习
计数排序及其改进 C++代码实现与分析 恋上
数据结构笔记
文章目录复习梗概算法思想基础思想改进空间复杂度,改进不能对负数进行排序问题改进稳定性计数排序时间空间复杂度计数排序基础版代码及输出计数排序第一次改进版代码及输出计数排序终极版代码及输出(重要)完整版代码复习梗概基础算法思想?两种改进的思路?重点在于最终版本思想最终版本是如何做到稳定的?三个数组(array,counts,temp)彼此间的索引和元素的对应关系?算法思想基础思想计数排序适合对在一定范
SuSA_
·
2023-11-13 13:39
算法
数据结构
c++
排序算法
[
数据结构笔记
]顺序表与链表
线性表线性表(linearlist)是多个具有相同特性的数据元素构成的有限序列。线性表是一种被广泛使用的数据结构,常见的线性表有:顺序表、链表、栈、队列、字符串等。线性表在逻辑上是线性结构,即连续的一条线。线性指的是逻辑上的结构是线性连续的,而其在物理结构上并不一定是连续的。线性表的存储在物理层面上通常以数组(顺序表)和链式结构(链表)的形式实现。顺序表顺序表是用一段物理地址连续的存储单元依次存储
大标准库的牧羊人
·
2023-11-13 03:19
笔记
数据结构
链表
记一次CTF入门练习
我写的
python算法
:sum=0foriinrange(101,1001):
晓梦林
·
2023-11-13 01:25
网络与安全
CTF
网络安全
【
Python算法
】牛顿迭代法
利用直线趋近的这么一个思想,不断交换x、x0终止条件有两种判断方式:x0和x之间的误差非常小f(x)的值趋近与0#以f=x**3+3*x**2+3*x+2#df=3**2+6*x+3deff(x):f=x**3+3*x**2+3*x+2returnfdefdf(x):df=3*x**2+6*x+3returndfdefnewton(x):globalix0=xprint('第{}次迭代:'.for
Lei00764
·
2023-11-12 21:58
笔记
python
线性代数
python数据结构与算法中文教程_GitHub - shinkoryo/python_data_structures_and_algorithms: Python 中文数据结构和算法教程...
Python算法
与数据结构视频教程课程简介数据结构和算法是每个程序员需要掌握的基础知识之一,也是面试中跨不过的槛。
weixin_39625172
·
2023-11-12 15:00
python数据结构与算法中文教程_GitHub - xykdsg/python_data_structures_and_algorithms: Python 中文数据结构和算法教程...
Python算法
与数据结构视频教程课程简介数据结构和算法是每个程序员需要掌握的基础知识之一,也是面试中跨不过的槛。
weixin_39777540
·
2023-11-12 15:00
数据结构笔记
NO.1(绪论、线性表、栈队列和矩阵的压缩存储)
第一章、绪论1、数据结构三要素:逻辑结构、存储结构(物理结构)、数据的运算。(1)逻辑结构:是指数据元素之间的逻辑关系,即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。(2)存储结构(物理结构):是指数据在计算机中的表示(又称映像),是用计算机语言实现的逻辑结构,它依赖于计算机语言。顺序存储:把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体
反方向的钟49
·
2023-11-12 06:15
CS专业基础课
数据结构
数据结构笔记
文章目录第1章数据结构绪论1.1基本概念和术语1.2逻辑结构与物理结构1.2.1逻辑结构1.2.2物理结构1.3抽象数据类型1.3.1数据类型1.3.2抽象数据类型第2章算法2.1算法定义2.2算法的特性2.2.1输入输出2.2.2有穷性2.2.3确定性2.2.4可行性2.3算法设计的要求2.3.1正确性2.3.2可读性2.3.3健壮性2.3.4时间效率高和存储量低2.4算法效率的度量方法2.4.
寒霜若雪飘
·
2023-11-11 19:44
数据结构
算法
c语言
数据结构笔记
(王道考研) 第七章:查找
大部分内容基于中国大学MOOC的2021考研数据结构课程所做的笔记,该课属于付费课程(不过盗版网盘资源也不难找。。。)。后续又根据23年考研的大纲对内容做了一些调整,将二叉排序树和平衡二叉树的内容挪到了查找一章,并增加了并查集、平衡二叉树的删除、红黑树的内容。排序一章的各种算法动态过程比较难以展现,所以阅读体验可能不是特别好。西电的校内考试分机试和笔试。笔试占50分,机试2小时4道题占30分,做出
CS_Lee_
·
2023-11-11 16:26
数据结构与算法
数据结构
王道考研
考研
学习
笔记
Python算法
——深度优先搜索(DFS)
Python中的深度优先搜索算法详解深度优先搜索(Depth-FirstSearch,DFS)是一种遍历或搜索树、图等数据结构的算法。在DFS中,我们从起始节点开始,沿着一条路径尽可能深入,直到达到树的末端或图中的叶子节点,然后回溯到前一节点,继续深入下一路径。这一过程不断重复,直到所有节点都被访问。在本文中,我们将详细讨论DFS的原理,并提供Python代码实现。深度优先搜索的原理深度优先搜索的
Echo_Wish
·
2023-11-11 09:21
Python算法
Python
笔记
数据结构与算法
算法
python
深度优先
Python算法
:动态规划解决0-1背包问题
动态规划(DynamicProgramming,简称DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题,它能够将问题分解为相互独立的子问题,并将子问题的解存储起来,以便下次需要时直接使用,从而减少计算量,提高效率。最经典的例子就是0-1背包问题。0-1背包问题描述:给定一组物品,每种物品都
创意程序员
·
2023-11-11 03:31
Python
算法
算法
动态规划
python图形包是什么_介绍Python 图形计算工具包
SciPy是一个开源的
Python算法
库和数学工具包,SciPy包含的模块有最优化Pyth
weixin_39875842
·
2023-11-11 00:54
python图形包是什么
python算法
技巧——二叉树练习及掌握
目录1.建立二叉树,同时使用中序(inorder)打印:2.使用前序(preorder)遍历打印二叉树:3.使用后序(postorder)遍历打印二叉树:4.计算二叉树的最大深度:5.计算二叉树的最小深度:6.将已排序数组转成二叉搜索树(binarysearchtree,BST),并用中序打印:7.将未排序数组转成二叉搜索树(BST),并用中序打印:8.求某个二叉树的路径数值和是否等于特定值:9.
Hulake_
·
2023-11-10 14:07
编程语言技巧及算法运用
算法
python
经验分享
学习
Python算法
——桶排序
桶排序(BucketSort)是一种非比较性排序算法,适用于对一定范围内的浮点数进行排序。它将元素分配到若干个桶中,然后对每个桶中的元素进行排序,最后按照顺序合并所有的桶,得到有序数组。桶排序是一种线性时间复杂度的排序算法,适用于一定范围内的浮点数排序。本文将详细介绍桶排序的工作原理和Python实现。桶排序的工作原理桶排序的基本思想是:将元素均匀分布到若干个桶中,每个桶中的元素属于一定的范围。对
Echo_Wish
·
2023-11-10 14:37
数据结构与算法
Python
笔记
Python算法
算法
python
数据结构
Python算法
——基数排序
基数排序(RadixSort)是一种非比较性排序算法,适用于对整数或字符串等数据进行排序。它根据数据的位数进行排序,从低位到高位或从高位到低位,通过分配数据到不同的桶中,然后按顺序合并这些桶,得到有序数组。基数排序是一种稳定的排序算法,适用于整数或字符串排序。本文将详细介绍基数排序的工作原理和Python实现。基数排序的工作原理基数排序的基本思想是:根据数据的位数,从低位到高位或从高位到低位,依次
Echo_Wish
·
2023-11-10 14:37
数据结构与算法
Python
笔记
Python算法
算法
python
java
python算法
学习——二叉树
二叉树的结构二叉树特点是每个结点最多只能有两棵子树,且有左右之分。二叉树的特殊类型:满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树;完全二叉树:深度为k,有n个结点的二叉树当且仅当其每一个结点都与深度为k的满二叉树中编号从1到n的结点一一对应时,称为完全二叉树。二叉搜索树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它
零度不知寒
·
2023-11-10 14:36
算法刷题记录
二叉树
数据结构
算法
python
数据库
Python算法
——二叉树遍历
Python中的二叉树遍历算法详解二叉树是一种常见的树状数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。遍历二叉树是访问树的所有节点并按照特定顺序输出它们的过程。在本文中,我们将讨论二叉树的三种主要遍历算法:前序遍历、中序遍历和后序遍历,并提供相应的Python代码实现。1.前序遍历(PreorderTraversal)前序遍历按照“根-左-右”的顺序访问二叉树节点。具体步骤如下:
Echo_Wish
·
2023-11-10 13:51
数据结构与算法
Python
笔记
Python算法
python
算法
开发语言
【强化学习】结合Python实战深入分析原理
【文末送书】今天推荐一本强化学习领域优质
Python算法
书籍,揭密ChatGPT关键技术PPO和RLHF。
秋说
·
2023-11-10 10:09
人工智能之门
Python编程指南
python
人工智能
chatgpt
Python算法
——堆排序
堆排序(HeapSort)是一种基于二叉堆数据结构的排序算法,它通过将元素构建成一个最大堆或最小堆,然后重复从堆中移除根节点,直到堆为空,从而得到有序数组。堆排序是一种原地排序算法,具有稳定的时间复杂度,通常效率较高。本文将详细介绍堆排序的工作原理和Python实现。堆排序的工作原理堆排序的基本思想是:构建一个最大堆或最小堆,将数组元素视为二叉树的节点。交换堆的根节点(最大值或最小值)和堆的最后一
Echo_Wish
·
2023-11-07 13:35
数据结构与算法
Python
笔记
Python算法
python
算法
开发语言
Python算法
——希尔排序
希尔排序(ShellSort)是一种改进的插入排序算法,它通过将数组分成多个子数组,并对每个子数组进行插入排序,逐渐减小子数组的间隔,最终完成排序。希尔排序是一种高效的排序算法,特别适用于中等大小的数据集。本文将详细介绍希尔排序的工作原理和Python实现。希尔排序的工作原理希尔排序的基本思想是:选择一个间隔序列(gapsequence),将数组分成多个子数组,每个子数组包含距离为间隔的元素。对每
Echo_Wish
·
2023-11-07 13:35
数据结构与算法
Python
笔记
Python算法
算法
python
排序算法
Python算法
——计数排序
计数排序(CountingSort)是一种非比较性排序算法,适用于对一定范围内的整数进行排序。它通过统计每个元素出现的次数,然后根据统计信息重新构建有序数组。计数排序是一种线性时间复杂度的排序算法,具有稳定性和适用性广泛的特点。本文将详细介绍计数排序的工作原理和Python实现。计数排序的工作原理计数排序的基本思想是:统计数组中每个元素出现的次数,得到元素的频率统计信息。根据频率统计信息,重建有序
Echo_Wish
·
2023-11-07 13:15
数据结构与算法
Python
笔记
Python算法
python
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他