数据结构与算法
因特马
这个作者很懒,什么都没留下…
展开
-
[数据结构与算法]-常见算法时间复杂度(程序运行时间)计算法则
本文欢迎转载,转载前请联系作者,经允许后方可转载。转载后请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN一.引言算法(Algorithm)是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。估算分析算法所消耗的资源是一个理论问题,所以需要一套规范一套系统架构在帮助我们分析。...原创 2018-06-03 23:32:00 · 6740 阅读 · 2 评论 -
[数据结构与算法]-排序算法之堆排序(HeapSort)及其实现(Java)
一.什么是堆排序?堆排序(HeapSort)顾名思义,一想就是跟堆有关,也就是说利用堆进行排序。如果对堆不是很了解的朋友,可以参考我之前写过的一篇介绍堆的博客 [数据结构与算法]-二叉堆(binary heap)介绍及其实现(Java)。堆排序的思路如下:对给定元素个数为N的数组arr,我们先把arr构建成最大堆(max-heap)结构。然后获取堆的最大值,即第一个元素,与最后一...原创 2018-07-14 18:07:34 · 825 阅读 · 0 评论 -
[数据结构与算法]-排序算法之希尔排序(shell sort)及其实现(Java)
本文欢迎转载,转载前请联系作者。若未经允许转载,转载时请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN一.什么是希尔排序?希尔排序(Shellsort)可以是说是简单排序的一种改进版本(有关插入排序可见我的另一篇博文排序算法之插入排序(insertion sort)及其实现(Java)),...原创 2018-07-02 00:02:54 · 520 阅读 · 0 评论 -
[数据结构与算法]-二叉堆(binary heap)介绍及其实现(Java)
本文欢迎转载,转载前请联系作者。若未经允许转载,转载时请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN一.什么是二叉堆?二叉堆(binary heap)是一种通常用于实现优先队列的数据结构。要想知道二叉堆是什么东西,得从两方面介绍它:结构性和堆序性。1.结构性二叉堆是一颗除底层...原创 2018-07-08 21:52:59 · 3955 阅读 · 0 评论 -
[数据结构与算法]-排序算法之插入排序(insertion sort)及其实现(Java)
本文欢迎转载,转载前请联系作者,经允许后方可转载。转载后请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN一.什么是插入排序?插入排序(insertion sort)是最简单的排序算法之一。它是一个稳定的排序算法。(Tips:所谓稳定,即两个相同元素,排序前和排序后他俩的顺序不发生改...原创 2018-07-01 14:53:40 · 1274 阅读 · 0 评论 -
[数据结构与算法]-用Java实现简单的LinkedList
本文欢迎转载,转载前请联系作者,经允许后方可转载。转载后请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN一.引言本文分享一下自主实现简单ArrayList的代码,主要参考了《数据结构与算法分析》。二.需要实现的内容MyLinkedList():初始化双向链表size()...原创 2018-06-10 19:14:32 · 716 阅读 · 0 评论 -
[数据结构与算法]-二叉查找树(BLT)介绍及其实现(Java)
本文欢迎转载,转载前请联系作者,经允许后方可转载。转载后请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN一.什么是二叉查找树?二叉查找树(Binary Search Tree, BST)是二叉树的一种。简单来说,二叉查找树的特有性质是:对于树中的每个节点N,它的左子树中所有的元素值...原创 2018-06-18 01:07:26 · 693 阅读 · 0 评论 -
[数据结构与算法]-用Java实现简单的ArrayList
本文欢迎转载,转载前请联系作者,经允许后方可转载。转载后请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN一.引言学习数据结构最好的方法个人总结即为两点:1.阅读源码。2.自己动手实现本文分享一下自主实现简单ArrayList的代码,主要参考了《数据结构与算法分析》。二.需要...原创 2018-06-10 02:52:49 · 449 阅读 · 0 评论 -
[数据结构与算法]-基本数据结构表及Java中有关表的常用方法
本文欢迎转载,转载前请联系作者,经允许后方可转载。转载后请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN一.引言记得上大二的时候,我们开始学习《数据结构》这门课。记得那本书长这个样子。 当时学习的时候,印象最深刻的就是在各种数据结构中,定义了很多方法,比如在List中定义了add,i...原创 2018-06-10 02:29:30 · 575 阅读 · 0 评论 -
[数据结构与算法]-二叉树的先序、中序、后序遍历的方法及其递归与非递归的实现(Java)
一.先序、中序、后续遍历简介对于列表结构的数据,我们很容易就能通过for循环遍历它。那么对于树形结构的数据,我们如何遍历它呢? 本文介绍有关二叉树的遍历方法,主要有三种——先序、中序、后续遍历。1.先序遍历先序遍历是最好理解的一种遍历方法,可以想象它为顺腾摸瓜,摸到一个节点就直接访问它。那么怎么摸呢?先摸根节点,再摸左节点,最后摸右节点。在摸左右节点的时候,如果子节点还有左或右节点,...原创 2018-06-15 22:35:26 · 615 阅读 · 3 评论 -
[数据结构与算法]-平衡二叉树(AVL)介绍及其简单实现(Java)
本文欢迎转载,转载前请联系作者,经允许后方可转载。转载后请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN一.什么平衡二叉树(AVL)AVL(Adelson-Velskii & Landis)是带有平衡条件的二叉查找树,即一种特殊的二叉查找树,它保证树的深度必须为O(logN)。...原创 2018-06-20 22:12:39 · 804 阅读 · 0 评论 -
[数据结构与算法]-排序算法之归并排序(MergeSort)及其实现(Java)
一.合并两个已经排序的数组要搞清楚什么是归并排序(MergeSort),我们首先要搞清楚一个基本操作:合并两个已经排序的数组。因为两个数组A、B是排序好的,所以,我们可以定义两个指针,初始化的时候两个指针分别指向A、B的第一个元素,然后比较两个指针指向的元素。比较得出较小的元素放在第三个空数组中,然后该元素所在的数组的指针下移一位,之后继续比较。直到某个数组都被放在了第三个数组,此时将另一...原创 2018-07-22 18:37:56 · 686 阅读 · 0 评论