
数据结构与算法
本栏目更多研究数据算法
zhangpaopao0609
发光发热
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
大数之和(正负均可)
算法记录——大数之和原创 2021-03-29 15:56:05 · 894 阅读 · 0 评论 -
25匹马,5个跑道,每次只能同时有5匹马跑,问最少需要几次可以得到跑的最快的3匹马?
1. 前言共有两种情况,这里先给出结论,下面详述,记时和不记时。记时自然5次就可以得到答案,每次记时然后得出前三即可;不记时结论是至少需要 7 次,下面来一步步分析2. 不记时情形首先,如下所示把马分成 5 组。每组分别跑一轮(总共5轮)这时候能够得到每一组的顺序,A1,A2,A3,A4,A5; …;E1,E2,E3,E4,E5每组的第一名跑一轮(加 1)这时候我们能够得到每组第一名的排名;A1, B1,C1,D1,E1;由于我们只取前三名,因此,D,E组直接可原创 2021-03-22 16:45:14 · 5058 阅读 · 1 评论 -
打印出1-n 中是 7 的倍数和包含 7 的所有数字
题目描述给一个数字n,打印出 1-n 中是 7 的倍数和包含 7 的所有数字,不可使用字符串方式。code思路其实非常的简单, 首先倍数取余即可得到,包含 7 的通过判断每一位中是否包含 7 即可。function seven(n) { const res = []; for (let i = 7; i <= n; i++) { if(i % 7 === 0) { res.push(i); }else { let k = i; whi原创 2021-03-22 14:13:44 · 2349 阅读 · 0 评论 -
使用迭代法求解方程式
使用迭代法求解方程式#include <stdio.h>#include <stdlib.h>int n = 3;//3阶行列式double sum(int i,int a[3][3],double x0[3]){ double result = 0.0; for(int j = 0 ; j < n ; j++){ if( j != i){ result += a[i][j] * x0[j]; }原创 2020-06-10 14:03:58 · 1314 阅读 · 0 评论 -
快速排序——排序算法中平均情况下速度最快的一种排序方法
1 概述快速排序(quick sorting)是对气泡排序的一种改进,是关键字次数少,速度较快的一种排序方法。2 基本思想简单概括就是:给基准数据找到其正确的索引位置;具体原理如下:1)如下图所示,假设目前的基准数据是第一个,也就是元素15,用一个临时变量temp保存元素15,temp=15;然后分别用low和high记录数组的最大和最小下标。2)首先从后往前开始扫描,如果high对...原创 2019-09-06 14:42:58 · 14853 阅读 · 0 评论 -
归并排序——分治思想
1 概述归并排序是指利用归并操作的一种排序方法。规定是指将两个或两个以上的有序表组合成一个新的有序表的过程。2 基本思想归并排序的基本思想是将n个元素的初始序列看成n个成都为1的子序列,两两归并,得到n/2个长度为2或1的子序列,再两两归并,直到得到一个长度为n的有序序列为止。归并排序的核心操作时归并,而整个归并排序的处理过程可用递归方式完成。具体原理如下:1)有一数组如下,我们使用归并...原创 2019-09-07 08:56:07 · 1507 阅读 · 0 评论 -
算法刷题
https://exercise.acmcoder.com/online/online_judge_ques?ques_id=9579&konwledgeId=137大学的同学来自全国各地,对于远离家乡步入陌生大学校园的大一新生来说,碰到老乡是多么激动的一件事,于是大家都热衷于问身边的同学是否与自己同乡,来自新疆的小赛尤其热衷。但是大家都不告诉小赛他们来自哪里,只是说与谁是不是同乡,从...原创 2019-09-17 13:39:12 · 333 阅读 · 0 评论 -
直接插入排序——排序算法
1 概述插入排序的基本方法是:每一步将一个待排序的元素,按其排序码的大小,插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止。那么可以选择不同的方法在已经排好序的数据表中寻找插入位置。根据查找方法不同,有多种插入排序方法,主要分两种:第一种:直接插入排序;第二种:二分法插入排序。2. 直接插入排序插入排序的基本思想如下:当准备插入第i个数时,前面的 i-1 个数已经排好序了...原创 2019-09-18 13:25:43 · 379 阅读 · 0 评论