数据结构与算法
记录算法的学习的点点滴滴
I_itaiit
这个作者很懒,什么都没留下…
展开
-
排序算法-dubbo,select,insert,quick
冒泡排序(dubbo sort) /** * 冒泡排序 * * @param arr */ public void dubboSort(int[] arr) { boolean sort; // 标志位,如果为false,则代表,上一次循环中没有发生进行交换操作,说明所有元素已经正确排序,因此后面也没有交换的必要 ...原创 2019-12-19 22:18:08 · 315 阅读 · 0 评论 -
DNA片段
链接:https://www.nowcoder.com/questionTerminal/583a883684e14818a5ca5ff39de4bf64 来源:牛客网牛牛从生物科研工作者那里获得一段字符串数据s,牛牛需要帮助科研工作者从中找出最长的DNA序列。DNA序列指的是序列中只包括’A’,’T’,’C’,’G’。牛牛觉得这个问题太简单了,就把问题交给你来解决。 例如: s ...原创 2018-02-24 15:47:19 · 709 阅读 · 0 评论 -
彩色瓷砖(未证明)
这是找到的最普遍的解决方法,先记录,纯属死记硬背的一套,或许以后我会懂的如何去理论证明…链接:https://www.nowcoder.com/questionTerminal/31af498841fd491886b8dee6ebde9768 来源:牛客网牛牛喜欢彩色的东西,尤其是彩色的瓷砖。牛牛的房间内铺有L块正方形瓷砖。每块砖的颜色有四种可能:红、绿、蓝、黄。给定一个字符串S...原创 2018-02-24 15:27:27 · 299 阅读 · 0 评论 -
算法导论-第12章 二叉搜索树
今天终于静下心来去看《算法导论》,今天看的是第12章–二叉搜索树,下面是晚上回来后的总结。 多年以后在某个地方我会想念此时,那个孤独,奋斗与充满激情的自己什么是二叉搜索树一棵二叉搜索树是以一棵二叉树来组织的。一棵二叉搜索树可以使用一个链表数据结构来表示,其中每个节点就是一个对象。除了key和卫星数据之外,每个结点还包含属性left、right和p,它们分别指向结点的左孩子、右孩子和双亲,结点的原创 2017-12-27 23:44:32 · 354 阅读 · 0 评论 -
字符串全排列
题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。初次看到,没有思路,百度了一下,参考了一篇c++实现的文章。理解与解决根据参考的文章的思路,将每一个位置固定,然后求剩下部分的全排列。想起最近原创 2017-12-23 22:48:55 · 228 阅读 · 0 评论 -
复杂链表的复制
题目描述 题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)思考问题时的一些疑问:java中对象的赋值是地址赋值还是创建新对象?例如:有一个Person类,一个School类,那下面的代码:Person perso原创 2017-12-15 01:35:20 · 207 阅读 · 0 评论 -
算法导论-第七章快速排序
第七章 快速排序快速排序的最坏时间复杂度为θ(n2),但是它的平均性能很好,它的期望时间复杂度为θ(nlgn)原创 2017-11-17 12:56:47 · 382 阅读 · 0 评论 -
算法导论-第六章堆排序
第六章 堆排序堆排序的时间复杂度为O(nlgn)数据结构(二叉)堆是一个数组A,该数组具有两个属性A.length:给出的是数组元素的个数A.heap-size:表示的是有多少个堆元素存储在该数组中堆的结构可以近似的看作是一个完全二叉树,数据的元素将数组中的元素是从左至右填充为树的节点,类似于树的层次遍历的方式。 一个堆中的节点的高度为该节点到根节点(此处与教材有出入)最长简单路径上边的数目原创 2017-11-12 16:49:40 · 491 阅读 · 0 评论