1、设查找表中有n个元素,如果用二分法查找数据元素X,最多需比较多少次? 可以根据二叉搜索树判断,最多为log(n,2) + 1次. 利用了二叉树的性质:有n个结点的二叉树的深度至少是[log(2)n]+1个([log(…
分类:算法
约瑟夫环问题
网上说法很多。。这里简单描述一下。 一羣人围成一个圈,每个人都有自己的密钥。。出列后用其密钥做下一个循环出队数。 源代码 #include<stdio.h> #include<stdlib.h> …
按字典序排序
按字典顺序排序 主要思路 举个生动形象的例子,大小关系满足如此的一个序列:(小 < 大 > 中),将其作为初始状态。 1.从一个初始序列中,从后往前查找,找第一个满足a[i-1]<a[i] 的元素,将i…
House Robber II(middle)
Note: This is an extension of House Robber. After robbing those houses on that street, the thief has…
java 数据结构算法 之 栈操作
简介:栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是…
简单选择排序
选择排序 非稳定排序 时间复杂度 O(n^2) 空间复杂度 最差 O(n) 最优 O(0) 排序思想: 每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为…
计算所给字符的排列组合情况
之前在想关于计算行列式的问题的时候,突然遇到了了这个问题:给定一个数据m,输出1,2,3,…..m这些数排列组合的所有情况,例如给定2,则输出:12,21,;给定3,则输出123,132,213,231,31…
交换两个变量的值,不使用第三个变量的四种法方
转载地址:文章转载地址 通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下: int a,b; a=10; b=15; t=a; a=b; b=t; 这种算法易于理解,特别适合帮助初学者了解…
73:字符统计★]题目描述:
// 73.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "stdio.h" #in…
算法学习:分治法—求最大数和次大数
#include <stdio.h> #define MAX(a, b) ((a)&…
ZOJ 1011 - NTA
ZOJ 1011 – NTA 英文题目 《算法分析与设计-以大学生程序设计竞赛为例》 算法分析 1. 样例分析 第一个完全二叉树如图。 参数n=4,m=2表示信号有4个,即0,1,2和3,后面两个信号2和…
46、求矩阵的最大值
#include<iostream> using namespace std; int main(){ int a[3][4] = { { 1, 3, 4, 6 }, { 2, 4, 6, 8 }, { 1,…