数据结构与算法
wuweiwoshishei
这个作者很懒,什么都没留下…
展开
-
三种简单排序算法
一、冒泡排序外层循环out,从n-1逐渐减小,内层循环in,从0逐渐增加到out,进行比较swap。package com.xwiam.algorithms.sort;public class BubbleSort { private long[] instance; private int nElems; public BubbleSort(int ma...原创 2018-08-30 16:17:12 · 186 阅读 · 0 评论 -
左耳听风ARTS第十五周
Algorithms206. Reverse Linked ListReverse a singly linked list.Example:Input: 1->2->3->4->5->NULLOutput: 5->4->3->2-&原创 2019-03-18 13:56:07 · 291 阅读 · 0 评论 -
左耳听风ARTS第十四周
AlgorithmsReviewTips网络基础知识协议:CDN1、CDN的分发系统架构2、客户端寻找边缘节点的流程图3、CDN缓存包括静态资源(流媒体协议)和动态资源。静态资源可以采用拉取和主动推送的模式。对于流媒体协议可以采取主动推送的方式,减少回源对服务器的影响。动态资源可以采用边缘计算的模式和路径优化的模式。边缘计算的模式就是数据的逻辑计算和存储都是放在边缘的节点上,其...原创 2019-03-06 20:38:55 · 245 阅读 · 0 评论 -
左耳听风ARTS第十三周
algorithms226. Invert Binary TreeInvert a binary tree.Example:Input: 4 / \ 2 7 / \ / \1 3 6 9Output: 4 / \ 7 2 / \ / \9 6 3 1Solution 1——leet...原创 2019-02-20 20:25:00 · 217 阅读 · 0 评论 -
左耳听风ARTS第十二周
Algorithms160. Intersection of Two Linked ListsWrite a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists:begin to in...原创 2019-02-06 17:22:01 · 195 阅读 · 0 评论 -
左耳听风ARTS第十周
Algorithms448. Find All Numbers Disappeared in an ArrayGiven an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.Find all the elements of...原创 2019-01-21 01:43:53 · 250 阅读 · 0 评论 -
左耳听风ARTS第九周
AlgorithmsReviewTipsShare对CLH Lock的个人理解和浅析原创 2019-01-15 00:56:10 · 401 阅读 · 0 评论 -
左耳听风ARTS第十一周
AlgorithmsReviewRecommended Reading for Developers1、Code Complete 2 ——complete your code2、人月神话 —— 计算机技术会变,但是人不会变3、Don’t make me think —— 如果你选择一本实用性的书,那就选择这一本4、Programming Pearls —— 每个阶段的程序员都能从中收...原创 2019-01-25 00:40:10 · 292 阅读 · 0 评论 -
左耳听风ARTS第八周
alrogithmsreviewtips网络协议第四层:传输层。share原创 2019-01-09 14:13:25 · 230 阅读 · 0 评论 -
左耳听风ARTS第七周
algorithmsreviewCode Tell You How,Comments Tell You Why1、最好的注释就是不要注释。2、代码先是写给人读的,然后再是给机器执行的。3、代码告诉你怎么设计和设计细节,注释告诉你设计思想和为什么这么设计。tips网络协议基础知识:静态路由和动态路由。静态路由:可以配置多张路由表,一张路由表可以有多条路由规则。路由规则可以设置源ip地...原创 2018-12-30 18:27:12 · 213 阅读 · 0 评论 -
左耳听风ARTS第六周
algorithmsreviewThe Greatest Developer Fallacy Or The Wisest Words You’ll Ever Hear?很久之前听过这么一句话“需要的时候再去学”,当时觉得还挺有道理的,没有深层次地去想过这个问题。看了这篇文章后,啪啪打脸了。总结几个要点:1、深度有了广度也会跟着上去。当你对一个知识点钻研比较深的时候,不可避免地你会扩展到更广...原创 2018-12-23 23:47:55 · 280 阅读 · 0 评论 -
二叉树
一、二叉树的概念:树中每个节点最多只能有两个节点。二叉搜索树:一个节点的左子节点的关键字值小于这个节点,右子节点的关键字值大于或等于这个父节点。package com.xwiam.algorithms.tree;/** * 二叉搜索树 */public class BinaryTree { private Node root; public Node f...原创 2018-09-21 18:30:07 · 140 阅读 · 0 评论 -
高级排序
一、希尔排序 希尔排序因计算机科学家Donald L. Shell得名,他在1959年发现了希尔排序算法。希尔排序基于插入排序,但是通过n-增量排序,大大地提高了插入排序的执行效率。希尔排序使用的间隔序列除了n=3n+1这样的间隔序列,也可以使用其他的间隔序列,不过必须保证一个最终条件n=1。package com.xwiam.algorithms.advancesort;...原创 2018-09-20 18:09:09 · 272 阅读 · 0 评论 -
递归
一、递归的概念: 递归可以理解为把责任推给别人,但是不能无限推下去,得会有一个基值情况,不会继续进行递归调用,否则就是庞氏骗局。 递归因为必须要保存每次调用的栈,所以容易造成栈溢出,而尾递归不需要保存之前的栈,所以不会造成栈溢出,前提是编译器要对尾递归进行优化。由于java目前还没有对尾递归进行优化,所以递归和尾递归效率一样,但是c中对尾递归有优化。packa...原创 2018-09-14 16:37:20 · 254 阅读 · 0 评论 -
链表
一、单向链表:只能从链表头插入和删除数据项package com.xwiam.algorithms.link;public class LinkList { private Link first; public void insertFirst(int iData, double dData) { Link link = new Link(iD...原创 2018-09-12 11:43:33 · 223 阅读 · 1 评论 -
队列
一、队列的概念: 队列是一种先进先出(FIFO)的数据结构。队列有队头指针(Front),队尾指针(Rear)。添加数据或者删除数据的时候,Front和Rear都会向数组下标大的位置移动,为了避免队列不满却不能插入新数据项的问题,可以让队头队尾指针绕回到数组开始的位置,这就是循环队列。package com.xwiam.algorithms.queue;public clas...原创 2018-09-05 20:14:06 · 130 阅读 · 0 评论 -
栈
一、栈的概念:栈是比数组和其他数据结构更为抽象的结构,栈的主要实现机制可以用数组来实现,也可以通过链表来实现。通过数组来实现栈的话,栈有一个初始化的大小限制,通过链表来实现栈的话,栈的大小不受限制。栈只允许访问一个数据项:即最后插入的数据项,是后进先出(LIFO)的数据结构。栈一般有3个功能:push(入栈)、pop(出栈)、peek(查看)。package com.xwiam.al...原创 2018-09-04 18:36:24 · 122 阅读 · 0 评论 -
数组
一、数组的基本概念:数组是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。数组支持随机访问,根据下标随机访问的时间复杂度为O(1)。java中数组和对象一样,存储在堆中,由java虚拟机直接生成。数组可以通过下标直接访问,但是不允许有空洞,即数组中的数据必须是连续的,不能有null值。二、无序数组不允许重复package com.xwiam.algori...原创 2018-08-29 15:47:34 · 167 阅读 · 0 评论 -
复杂度分析
一、复杂度分析的四个概念1、最好情况时间复杂度:在最理想的情况下,执行这段代码的时间复杂度。2、最坏情况时间复杂度:在最糟糕的情况下,执行这段代码的时间复杂度。3、平均情况时间复杂度:代码在所有情况下执行的次数的加权平均值。4、均摊情况时间复杂度:平均情况时间复杂度的一种特殊情况。二、实例说明// 全局变量,大小为 10 的数组 array,长度 len,下标 i。int array...原创 2019-04-16 22:23:16 · 272 阅读 · 0 评论