数据结构与算法
文章平均质量分 90
Autumn匆
这个作者很懒,什么都没留下…
展开
-
数组排序
选择、插入、冒泡、希尔、堆排序、归并、快排原创 2017-12-19 20:37:05 · 330 阅读 · 0 评论 -
java动态规划
一,基本概念1.定义:动态规划实际上是一类题目的总称,并不是指某个固定的算法,其意义是通过采用递推或分而治之的策略,通过解决大问题的子问题从而解决整体的做法,核心思想是巧妙地将问题拆分成多个子问题,通过计算子问题而得到整体问题的解,而子问题又可以拆分成更多的子问题,从而用类似递推迭代的方法解决要求的问题2.与分治法最大的差别是:适合于用动态规划法求解的问题,经过分解后得到的子问题往往不是独...原创 2018-07-02 16:50:16 · 1325 阅读 · 0 评论 -
八皇后问题
来自于程序员小灰,持续学习更新中......题目描述:八皇后于1848年由一位国际象棋棋手提出,在8*8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,如何求解?分析:递归回溯思想,从棋盘的第一行开始尝试摆放第一个皇后,摆放成功后,递归一层,再遵循规则在棋盘第二行摆放第二个皇后,如果当前位置无法摆放,则向右移动一格再次尝试,如果摆放成功,则递归一层...原创 2018-05-15 17:24:08 · 331 阅读 · 0 评论 -
字典序算法
最近,关注了一个公众号--程序员小灰,利用漫画的方式讲解一些东西,挺好玩。字典序算法的理解及代码实现,参考其文。题目:给定一个正整数,实现一个方法求出离该整数最近的大于自身的“换位数”。换位数,即把一个整数各个数位的数字进行全排列,从而得到新的整数。输入:12345,输出:12354.分析:为了和原数接近,应该尽量保持高位不变,低位在最小的范围变换顺序,那么究竟要变换多少位,取决于当前整数的逆序区...翻译 2018-05-14 21:05:06 · 599 阅读 · 0 评论 -
字符串(上)
实现字符串反转判断字符串是否由相同字符组成删除字符串重复字符统计单词原创 2018-03-21 21:04:57 · 197 阅读 · 0 评论 -
数据结构之数组(上)
数据结构数组LeetCode原创 2018-03-16 22:04:46 · 434 阅读 · 0 评论 -
数据的四种基本存储方法
顺序存储链式存储索引存储散列存储转载 2018-01-26 09:35:21 · 6506 阅读 · 0 评论 -
位运算
位运算2的n次方二进制中1的个数原创 2017-12-29 15:41:15 · 210 阅读 · 0 评论 -
栈和队列
栈,后进先出 ,数组、链表实现栈队列,先进先出 O(1)时间复杂度求栈中最小值原创 2017-12-29 15:22:50 · 250 阅读 · 0 评论 -
链表(下)
1.实现单链表反转 有四种方法,代码如下:package linkedlist;import java.util.Stack;public class ReverseIteratively { /* * 方法一:存储为数组,按照数组的索引逆序进行反转 * 或者利用栈 */ public static void reversePrint(Node hea原创 2017-12-18 21:45:46 · 267 阅读 · 0 评论 -
链表(上)
链表作为最进本的数据结构,在程序设计中有着非常重要的作用,其存储特点如下:可以用任意一组存储单元来存储单链表中的数据元素(存储单元可以是不连续的),而且,除了存储每个数据元素的值以外,还必须存储指示其直接后继元素的信息,这两部分信息组成的数据元素的存储映像称为结点。N个结点链在一块被称为链表,当结点只包含其后继结点的信息的链表就被称为单链表。原创 2017-12-15 10:29:51 · 277 阅读 · 0 评论 -
扔鸡蛋问题-方程-动态规划
参考:程序员小灰https://blog.csdn.net/weixin_40564421/article/details/78988078题目:2个鸡蛋,从100层楼上往下扔,以此来测试鸡蛋的硬度,比如鸡蛋在第9层没有摔碎而在第10层摔碎了,那么鸡蛋不会摔碎的零界点就是9层,如何用最少的尝试次数,测试出鸡蛋不会摔碎的临界点?最笨法:把其中一个鸡蛋从第1层开始往下扔,如果第1层没碎换到...转载 2018-07-02 21:07:00 · 3013 阅读 · 0 评论