数据结构与算法
文章平均质量分 66
program_lion
这个作者很懒,什么都没留下…
展开
-
一、数据结构与算法-概述
作为一个程序人员,我们的处理对象就是数据,而针对数据的处理就可以认为是算法。《数据结构预算法第二版》则是这样解释:数据结构:数组、有序数组、栈、队列、链表、树(二叉树、红黑,2-3-4树)、哈希表、堆、图。算法:数据的增、删、查都是算法,很多算法都适用于某种特定的数据结构。所以,总结起来,《数据结构与算法》的全部内容其实就是:数据结构与该结构的算法。学习工具:印象笔记-笔记工具,免费账户可以两端登...原创 2018-06-15 14:50:26 · 275 阅读 · 0 评论 -
二、数组
(1)数组是内存空间的一个连续空间,你肯定见过内存条,你可以想象你的数组存放在内存条的某一段上。原创 2018-06-15 16:28:15 · 190 阅读 · 0 评论 -
三、简单排序-数组的常用排序算法
教材《数据结构与算法》排序,多么经典的话题。计算机排序无法像人一样看到全部,只能对最近的两个单位进行比较,所以,计算机排序只能是俩俩比较。冒泡排序选择排序插入排序所有的排序都在循环进行两步: 比较两个数据项交换两个数据项,或者复制其中一个。冒泡排序: 就是按照一个一个比较的方式,对相邻的两个数据进行比对,并同时进行交换位置;。即 for( ){ for(){ } }遍历,这是最简...原创 2018-06-15 17:07:09 · 555 阅读 · 0 评论 -
四、数组-希尔排序
希尔排序是插入排序的优化版,我们知道插入排序是普通排序,在两两比较的前提下,进行的排序算法。这样有一个问题,如果数组极端情况下全是逆序,比如[j,i,h,g,f,e,d,c,b,a],要完成升序的排序的话,会让比较和交换的次数为N*N/2次。如果这个数据量越大,移动的距离就更长,那么希尔排序如何优化插入排序呢,它解决了插入排序中,数据逐个比较产生的坏情况下的远距离移动。使用的方法是通过跳跃式的选取...原创 2018-06-15 18:10:27 · 529 阅读 · 0 评论 -
五、栈-队列
栈这个东西就搞基啦,不是,是高级!菜鸟的我总是把堆、栈这些东西搞混。堆栈一直困扰这我,幸运的是,数据结构让我学习了很多这方面的事情,而且,这个过程十分愉悦。********************************************正文:《java数据结构与算法第二版》第四章栈:是一种“先进后出”的数据思想,对,是思想,而不是结构。栈是一种抽象数据结构,它可以由数组来实现,也可以由链表...原创 2018-06-15 19:23:37 · 187 阅读 · 0 评论