数据结构与算法
qq_28935065
仰望星空,脚踏实地
展开
-
排序算法之选择排序
选择排序基本原理:对于给定的一组记录,进过第一趟比较后得到最小记录,然后将该记录与第一记录的位置进行交换;接着对不包括第一个记录以外的其他记录进行第二轮比较,得到最小的记录与第二个位置的元素进行交换;重复这个过程,直到进行比较的只有一个为止。(简言之就是找到最小的与第一位置的元素互换,找到)。选择排序的时间复杂度为O(n^2)。下面是使用Java实现选择排序的代码public static v原创 2017-08-07 22:16:04 · 148 阅读 · 0 评论 -
排序算法之冒泡排序
冒泡排序顾名思义排序过程就像气泡一样往上升的过程,简单冒泡排序算法的基本思想:给定n个记录,从第一个记录开始,依次对相邻的两个记录进行比较,当前位置的记录大于后面位置的记录时,交换位置,进行一轮比较交换后,n个记录中的最大值移到了最后一个位置,然后对前(n-1)个进行第二轮的比较;重复这个过程直到比较的记录只剩下一个为止,具体的代码如下:参考资料1.《Java程序员面试笔试宝典》何原创 2017-08-08 22:17:33 · 191 阅读 · 0 评论 -
数据结构之链表反转
链表分为单向链表和双向链表,无论是哪一种链表,反转都是类似的,区别主要是双向将当前节点的last节点指向next节点。链表反转要注意的就是找到当前节点时,在进行反转前,找到当前节点的上一个节点和下一个节点,这样才能保证每一次的反转后可以移动到下一个节点并继续进行操作。public class Node {//单链表的节点结构 int data; Node next=null; public原创 2017-08-10 22:10:14 · 312 阅读 · 0 评论