算法
文章平均质量分 60
数据结构与算法
liuze408
这个作者很懒,什么都没留下…
展开
-
小船过河问题
有一艘船,能乘2人,船的运行速度为2人中较慢一人的速度,过去后还需一个人把船划回来,问把n个人运到对岸,最少需要多久。2.最快的和最慢的过河,然后最快的将船划回来,最快的和次慢的过河,然后最快的将船划回来,所需时间为:2*t[0]+t[n-2]+t[n-1]。1.最快的和次快的过河,然后最快的将船划回来;次慢的和最慢的过河,然后次快的将船划回来,所需时间为:t[0]+2*t[1]+t[n-1];每次都运送耗时最长的两人而不影响其它人,问题具有贪心子结构的性质。原创 2022-12-15 23:37:44 · 450 阅读 · 0 评论 -
模式匹配算法
模式匹配算法原创 2022-10-24 10:22:52 · 415 阅读 · 0 评论 -
排序算法归纳
1.0 十大经典排序算法分类算法本系列算法整理自:https://github.com/hustcc/JS-Sorting-Algorithm同时也参考了维基百科做了一些补充。排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一.转载 2022-04-15 10:51:15 · 242 阅读 · 0 评论 -
回溯算法例1
给定两个整数n和k,返回范围[1, n]中所有可能的k个数的组合。你可以按任何顺序返回答案。#include<stdio.h>#include<stdlib.h>int *temp;int tempSize=0;//当前配对个数 void func(int cur,int n,int k){ if(tempSize+(n-cur+1)<k) return; if(tempSize==k){ for(int i=0;i<k;i++){原创 2022-03-14 14:58:49 · 58 阅读 · 0 评论 -
回溯算法例2
矩阵中的路径题目:请设计一个函数,用来判断在一个矩阵中是否存在-条包含某字符串所有字符的路径。路径可以从矩阵中任意一格开始,每一步可以在矩阵中向左、右、上、下移动--格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如在下面的3X4的矩阵中包含一条字符串“bfce" 的路径( 路径中的字母用下划线标出)。但矩阵中不包含字符串“abfb" 的路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后, 路径不能再次进入这个格子。ABTGCFCSJDEH#include&l原创 2022-03-14 15:02:12 · 69 阅读 · 0 评论 -
查找算法概论
查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算。常见的查找算法有七种:1. 顺序查找2. 二分查找3. 插值查找4. 斐波那契查找5. 树表查找6. 分块查找7. 哈希查找顺序查找又称为线性查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。二分查找也成为折半查找,属于有序查找算法。用给定值k先与中间结点原创 2022-04-14 17:57:19 · 381 阅读 · 0 评论 -
Hash表查找
HASH定义根据设定的哈希函数 H(key)和所选中的处理冲突的方法,将一组关键字映象到一个有限的、地址连续的地址集 (区间) 上,并以关键字在地址集中的“象”作为相应记录在表中的存储位置,如此构造所得的查找表称之为“哈希表”HASH函数的构造构造原则 函数本身便于计算 计算出来的地址分布均匀,即对任一关键字k,f(k) 对应不同地址的概率相等,目的是尽可能减少冲突 直接定址法哈希函数为关键字的线性函数 H(key) = key H(key) = a * key + b.转载 2022-04-14 17:45:26 · 650 阅读 · 0 评论