原理 希尔排序是对相邻指定距离(称为增量)的元素进行比较,并不断把增量缩小至1,完成排序,是直接插入算法的改进版本。 稳定性:不稳定 时间复杂度:算法的时间复杂度分析比较复杂,实际所需的时间取决于各次排序时增量的个数和增…
分类:算法
算法分析与设计之五大常用算法 (V)—— 分支限界法
基本描述 类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,…
求各种进制下,各位数之和的平均值
算法题: 将一个整型数据A,可以分别转换为二进制,三进制,……,A-1进制的数,例如整数7,二进制111;三进制21;四进制13,;五进制12;六进制11。所有进制数的各个位数字之和不尽相同,现求其平均值,即整型数据转换…
基本算法------枚举
定义: 事先考虑到某一变量可能取的值,尽量用自然语言中含义清楚的单词来表示它的每一个值,这种方法称为枚举方法 在实际应用中,有的变量只有几种可能取值。如人的性别只有两种可能取值,星期天数只有七种可能取值。在 C 语言中对…
LeetCode解题报告--Roman to Integer
题目:罗马数字转为阿拉伯数字 Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range fro…
【LeetCode】876. Middle of the Linked List 解题报告(Python)
【LeetCode】876. Middle of the Linked List 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http:…
数据结构实验之图论九:最小生成树
如果想要让一个有n个点的图是连通图,那至少需要n-1条边,一个连通无向图且不含有回路那么他就是一个树,那么一个有n个点的图可以找到n-1条边保持它的连通性并且不含有回路,那么就找到了这个图的最小…
C编程—找单链表是否存在环,并找出环起点所在的节点位置
/*开始时间: 2016-07-14 14:44:32 实现功能:找环 并找出在那个节点 */ \ #include<stdio.h> #include<stdlib.h> #include<…
网易商业智能研究员笔试——算法题
1. 二叉树的中序遍历非递归实现 void InOrderTraverse1(BiTree T) // 中序遍历的非递归 { &nbs…
给定字符串S,是的每个子串为回文子串,求最小划分次数
给定字符串S,是的每个子串为回文子串,求最小划分次数。 1.优化子结构 证:g[i,j]不为第i个和第j个构成的子串中回文串的最小分割次数,假设存在g’[i,j]<g[i,j],g’[i,j]为最小分割次数,记g[…
基础算法学习(03)-插值计算(拉格朗日插值法和牛顿插值法)
插值问题 1、算法作用 插值问题是一种软件开发中较为常见的问题,比如已知三个电流输出时采集到的三个采样电流,用软件的方法尽量精确地求出第四个输出时的采样电流。本质上,就是多项式的求解。多项式求解有很多数学上的方法,这里主…
CodeForces - 55D——Beautiful numbers (数位dp)
D. Beautiful numbers time limit per test 4 seconds memory limit per test 256 megabytes input standard input ou…