算法题主要来自剑指offer上面的题目,本章主要是重新复习下线性表及其相关的算法题。 二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的…
分类:算法
《数据结构与算法分析》笔记4 二叉查找树
二叉树:任意节点最多有2个子节点的树。 二叉查找树:对于任意节点X,它的左子树中的所有关键字的值(节点中存的值)小于X的关键字的值,而它的右子树中的所有关键字值都大于X的关键字的值。 二叉查找树的平均深度为O(logN)…
一个程序员与素数的故事
一个程序员与素数的故事 素数定义 素数:只能被1和本身整除的大于1的自然数; 从前有一座山,山里有一个村,村里有个未来的程序员,叫jiese;他很模糊的记得小学的时候…
#6 LeetCode——ZigZag Conversion
Z字型准换 例如输入字符串:”ABCDEFGHIJKLMN” 输入n = 3,转换为: A E I M B D F H J L N C G …
#7 LeetCode——Reverse Integer
整数的翻转 java代码如下 public class Solution { public int reverse(int x) { long res = 0; int input = x; for(int i = 0;…
【学习笔记】用python实现bubblesort以及shakersort
冒泡排序的原理不多说,先看python版的bubblesort: #!/usr/bin/python import sys n = len(sys.argv) - 1 for i in range(n, 0, -1): …
【大白话版】求最大和子数组的动态规划算法
题目:求连续子数组的最大和 要求:时间复杂度O(n) 算法思路: 基于动态规划的思想: 1、算法中维护两个最大和:全局最大和max、局部最大和sum 2、全局最大和的维护:当局部>全局时,更新全局,将其赋值为局部值…
冒泡排序
平均时间复杂度: O(n^2) 最优时间复杂度: O(n) 最差时间复杂度: O(n^2) 空间复杂度 : O(1) 稳定性 : 稳定 public class BubbleSort { public static vo…
自学数据结构笔记 c++语言描述
数据结构笔记 c++语言描述 有道云笔记链接分享 不定时更新
环形队列 - java实现
public class LoopQueue { private byte[] _buf; private int _head; private int _tail; private int _size; private…
第十八周:[Leetcode]74. Search a 2D Matrix
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following prope…
冒泡排序 与 选择排序
import java.util.Arrays; /*需求说明:冒泡排序时注意以下关键点: (1)5个数字如何存放:(数组,数组.length = 5) (2)控制比较多少轮:(外层循环,循环变量 i) 每比一轮 产生该…