如何找出数据中最小的k个数 方法一:将数据排序,然后从排好序的数组中找到第k小的数 方法二:使用选择排序的方式,排序k次,找到第k小的数 方法三:使用快速排序的思想,从中随机选择一个数mid,然后将其划分为三部分 array[low.mid-1]、array[mid]、array[mid+1,high],也就是这三个部分,如果mid-low=k-1那么我们认为array[mid]就是我
转载
2024-02-28 23:16:40
33阅读
目录前言问题及思路1.问题概述2.设计思路源码及测试1.输入2.代码 前言算法大作业,综合应用8种算法解决TSP问题,分别是: 蛮力法(顺序查找) 分治法(快速排序)贪心法(求上界)近似算法(贪心+寻找最优贪心值)分支限界法(多城市)动态规划法(少城市)回溯法(中等规模城市数量) Sherwood概率算法改进版(随机第一个城市) 共8种算法(加粗的用于求解问题) 第一次发博客,如有错误,希望大佬
转载
2023-10-28 13:44:34
192阅读
目录36 求100以内的素数37 数字排序38 求对角线元素之和39 数组插入数字保持有序40 数组逆序输出 36 求100以内的素数题目:求100以内的素数指素数在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数代码:# 求100之内的素数。
from sys import stdout
for i in range(1,100 + 1):
if i > 1:
转载
2023-08-11 16:03:14
80阅读
常规解决主串中查找匹配的子串的问题是通过 朴素匹配算法,简单讲,就是通过比较主串和子串的第一个字符来查找,若主串和子串的第一个字符不相同,那么主串第二个字符和子串相比较,如若相同,主串和子串再比较下一个字符,以此类推,知道比较主串中找到连续的字符 与子串相同,则结束匹配。 KMP算法呢 主要通过一个next数组记录主串中每一个子序列中最长的共有元素长度值 如(借图)-
转载
2021-09-03 14:05:20
97阅读
源 / DataCastle数据城堡今天给大家总结一些易犯的小错误,让你轻松进行不踩坑的python学习。1. 缩进,符号和空格不正确写代码时大家会使用缩进、对齐、空格等,其目的是为了提高代码的可读性。但在python语言中,许多功能都依赖于缩进。比如在创建一个新类时,该类中的所有内容都在声明下缩进,决策、循环还有其它结构语句也会出现类似的情况,如果你在代码执行时发现问题,可以查看一下是
转载
2024-02-28 22:21:46
39阅读
python递归算法经典实例有哪些?程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的
转载
2023-12-04 19:36:28
63阅读
Python实现基础算法排序基础算法排序1.冒泡排序2.选择排序3.插入排序4.归并排序5.快速排序6.计数排序7.堆排序 基础算法排序1.冒泡排序(1)原理:比较相邻两个数字的大小,将两数中比较大的那个数交换到靠后的位置,不断地交换下去就可以将最大的那个数放到队列的尾部。然后重头再次交换,直到数列排成有序数列。 代码实例:第一步:创建rand.py随机数
import random
list1
转载
2023-08-04 19:03:51
97阅读
利用遗传算法求解 TSP(旅行商)问题任务描述本关任务:利用遗传算法求解 TSP 问题。相关知识为了完成本关任务,你需要掌握:1. 遗传算法;2. TSP问题。遗传算法一个后继状态由两个父状态决定,以k个随机产生的状态开始(population),一个状态表示成一个字符串。定义一个健康度量函数用来评价状态的好坏程度,通过选择,交叉,突变的操作产生下一轮状态。TSP问题旅行商问题,即 TSP 问题(
利用python做一个猜拳的小游戏(俗称剪刀石头布)import randomwj = input("请输入\n石头[0]\n剪刀[1]\n布[2]")dn = random.randint(0,2)wj=int(wj)if (wj==0 and dn==1) or(wj==1 and dn==2) or (wj == 2 and dn==0 ): print("你赢啦")e...
原创
2021-09-10 18:19:58
131阅读
#include <iostream>
#include <stack>
using namespace std;
#define N 6
int iW[] = {8, 2, 6, 4, 3, 1}; // 背包重量
int iV[] = {9, 3, 13, 10, 12, 5}; //
转载
2023-05-31 21:22:48
46阅读
算法原理KMeans算法是典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。K个初始聚类中心点的选取对聚类结果具有较大的影响,因为在该算法第一步中是随机地选取任意k个对象作为初始聚类中心,初始地代表一个簇。该算法在每次迭代中对数据集中剩余的每个对象,根据其与各个簇中心的距离赋
转载
2023-08-06 10:29:44
400阅读
上篇文章分享了一些入门算法题,如果没有看过的可以去看一下上一篇文章,这篇文章囊还是分享一些我精选的入门算法程序,废话不多说,上代码!"""
实心矩形
"""
raw=int(input("请输入行数:"))
for x in range(raw):
print (" * "*x)
"""
空心矩形
"""
raw=int(input("请输入行数:"))
for x in range(r
转载
2023-10-14 08:23:12
0阅读
简单算法算法题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?代码m =0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if(i != j )and(i != k)and(j != k):
m=m+1;
转载
2024-07-18 22:57:03
25阅读
想着总结一下做过的题目,感觉我之前的学习也没有那么认真......果然兴趣是最好老师。也可以照着这里的提示不看他人代码,自己做题试试。收获里写的是目前获得的一些小感悟,也许还有其他用法暂时就没写了。题目1:两数之和解法: 暴力解法就不说了,要想运行的快得加入字典。收获:index :获取指定值的索引,如果有重复的就是第一个enumerate:获得列表里值的索引及位置get:根据值获得字典里该键对应
转载
2023-09-02 09:02:16
64阅读
1. 删除排序数组中的重复项 给你一个有序数组 nums,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组 并在使用 O(1) 额外空间的条件下完成。nums = [1,1, 3, 4, 5, 7,
转载
2023-11-24 20:38:07
78阅读
一、冒泡排序'''冒泡算法冒泡排序原理就是循环遍历数组,比较相邻两个数的大小,重复比较直到排序完成N个数字要排序完成,总共要进行N-1趟排序,第i趟的排序次数为(N-i) 次'''1 def bubbleSort(arr):
2 n = len(arr)
3 # 遍历所有元组元素
4 for i in range(n):
5 # 每一趟循环最后一位数
转载
2023-06-27 10:23:43
282阅读
1、代码中要修改不可变数据会出现什么问题? 抛出什么异常? 答:代码不会正常运行,抛出 TypeError 异常。2、a=1,b=2,不用中间变量交换 a 和 b 的值? 方法一:a = a + b
b = a - b
a = a - b方法二:a = a^b
b = b^a
a = a^b方法三:a,b = b,a3、print 调用 Python 中底层的什么方法? 答:print 方法默认调
转载
2023-06-05 11:27:27
106阅读
说到最小(大)生成树的典型算法当然是Prime和Kruskal了。
Kruskal比较好理解就不说了。这里主要是谈一谈Prime算法。Prime算法的核心步骤:
在带权连通图中假设V是包含所有顶点的集合, U是已经在最小生成树中的节点的集合,从图中任意某一顶点v开始,此时集合U={v}。
重复执行下述操作:
在所有u∈U,w∈V-U的边(u,w)∈E中找到一条权值最小的边,将(u,w)这条
转载
2023-12-19 19:21:22
197阅读
Kmeans算法简介(1)Kmeans算法是一种无监督聚类算法。 (2)算法的目标:对给定样本集,根据各个样本点与选中的k个簇类中心点之间的距离,从中选最短距离进行分类,让簇内的点距离尽可能近,让簇间的点距离尽可能员 (3)算法的主要公式与思路: 计算点之间的距离公式。 通过对样本集中各样本点与各簇类中心点的距离,选最短的进行分类。然后根据分类后的样本点进行最后的分类的优化,即根据各类的样本点分
转载
2023-08-09 16:52:39
65阅读
# UCS 算法简介及 Python 实现
在计算机科学中,图算法是一个重要的研究领域,广泛应用于路径寻找、网络流、最短路径等问题。其中,统一代价搜索(Uniform Cost Search,简称 UCS)算法是一种寻找最短路径的算法,尤其适合加权的图。本文将深入探讨 UCS 算法的原理,并提供一个 Python 的实现示例。
## UCS 算法原理
UCS 算法是一种基于优先队列的搜索算法