数据结构
梦之马
一入代码深似海,从此不做岸上人
展开
-
顺序表实现Josephus(约瑟夫斯)环问题
背景简介: 著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特後,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。 然而Josephus 和他的朋友并不想遵从,Josephus原创 2016-10-30 11:37:01 · 722 阅读 · 0 评论 -
数据结构之顺序表(java版)
要点: 顺序表:采用顺序存储结构的线性表 顺序存储结构和链式存储结构不同,强调的是存储元素在物理地址存储的上连续!可实现随机存取(只要知道第一个元素的内存地址,再通过简单的加减就能找到任意一个元素了) 顺序表耗时在对移动元素上,进行插入、删除时都需要移动元素本人做顺序表的难点主要在于对顺序表进行插入时,需要多一个存储位,同时又要保存原来的数据 ,详情请看2的insert(int i, Ob原创 2016-10-29 19:22:11 · 970 阅读 · 0 评论 -
数据结构之单链表的增删改查(java版)
talk is cheap,show you zhe code;/* * 单链表的遍历是从第0个节点开始 沿着next链,一次访问每个节点并且每个节点只能访问一次 * 当头结点head为空时 此链表为空链表 * * 插入操作 * 1空表插入 判断是否为空 插入的节点为该链的头结点 * 2头插入 * Node<T> p = new Node<x,null>;//创建值为x的p原创 2016-11-02 20:54:24 · 712 阅读 · 2 评论 -
剑指offer练习题实现(java版,持续更新中)
《剑指offer-名企面试官精讲典型编程题》原创 2017-03-07 20:19:17 · 462 阅读 · 0 评论 -
java LinkedList源码阅读记录
ps:环境说明,这是jdk1.8的源码 ,1.8中并没有采用循环双链表的形式了,只是采用了双链表的数据结构LinkedList 1.1 构造方法(不同于1.6的循环链表)以及结点格式 无参构造方法并没有采取任何措施和这里 public LinkedList() { } public LinkedList(Collection<? extends E> c) {原创 2017-04-23 15:25:38 · 260 阅读 · 0 评论 -
快速排序(算法导论)
快速排序代码实现原创 2017-06-03 23:19:40 · 374 阅读 · 0 评论 -
单链表的归并排序和插入排序
由于最近在学习数据结构和算法,在牛客网 的在线编程题上遇到了对链表的相关排序操作,发现自己对链表这块还是理解不够深入,以前做过对数组进行排序,但链表的操作要比数组复杂一些,毕竟不能进行随机访问了,单链表得从头开始找。 下面是我通过在线编程(OJ)代码并附有注释。1.单链表的归并排序1.题目Sort a linked list in O(n log n) time using constant sp原创 2017-06-27 11:06:28 · 451 阅读 · 0 评论