问题: 使用二分查找算法实现:在一组有序的list中,如何删除其中一个数字。那么,下次则插入该数字。(list存放的数字为:1,2,3,4,5,6。我删除2之后,下次插入的数字还是2。) &nb…
插入排序(InsertSort)
算法思路: 假定这个数组的序是排好的,然后从头往后,如果有数比当前外层元素的值大,则将这个数的位置往后挪,直到当前外层元素的值大于或等于它前面的位置为止.这具算法在排完前k个数之后,可以保证a[1…k]是局部有序的,保证…
选择排序(SelectSort)
算法思路: 首先查出序列中的最小元素与A[0]交换。接着,查找出A中次小元素与A[1]交换,对A中的前n-1个元素按该方式继续。 public class SelectSort { /** * @param args *…
快速理解平衡二叉树、B-tree、B+tree、B*tree
转载地址:https://my.oschina.net/u/3370829/blog/13017321、平衡二叉树(1)由来:平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构; (2)特点: 平衡二叉树是…
二叉树
二叉树递归与非递归,前中后与遍历,归结起来就是二叉树的深度n与广度m大小的比较
python排序
本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。 1、插入排序 描述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有…
python版约瑟夫环
#! /usr/bin/env python3 #coding = utf-8 import itertools def josef(list0, s…
二分查找
Binary-Search 二分查找又称折半查找,用于不经常变动而查找频繁的有序列表,查询速度快。 1、首先需要对列表进行升序排列 2、将列表中的关键字与查找关键字比较,如果相等则查找成功。否则将列表从中间分成两部分,如…
二分查找
/** * 二分查找 * @param searchNum 查找数据 &nb…
冒泡
public static void maopao(List beforeNums){ int length = 0; //数据长度-1 &nb…
算法题2
package test; public class Arithmetic2 { public static void main(String[] args) { /* 题设:现有0到99,共计100个整数,各不相同,将…
算法题3
摘自传智播客公开课 package test; import java.util.Scanner; public class Arithmetic3 { //题设:某门户网站,具有如下业务功能 // 客户输入个人信息时,…