![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构,算法
文章平均质量分 78
常用的数据结构和算法
我的风墙呢
喜欢漂亮的代码,喜欢算法,喜欢学习
展开
-
数据结构——可变数组的实现
package sjjg;/*** 可变数组* @author wl**/public class Array<E> { //存储数据数组 private E[] data; //size private int size; /* * 无参方法 */ public Array() { ...原创 2018-11-22 10:21:53 · 165 阅读 · 0 评论 -
数据结构——二分搜索树
二分搜索树:每个节点的值大于其左子树的所有节点的值,小于其右子树的所有节点的值,它的每一颗子树也是二分搜索树定义一个二分搜索树:public class BST<E extends Comparable<E>> { private class Node { public E e; public Node left, r...原创 2018-11-25 17:52:01 · 98 阅读 · 0 评论 -
数据结构——大根堆
大根堆: 堆总是不大于其父节点的值:二叉堆中的上浮,siftUp,把新节点加在最后一位,然后跟该节点的父节点相比较,大于父节点,交换二叉堆中的下沉,siftDown,把最大的根节点移除后,把最后一个节点放在根的位置,然后把该根节点的左右孩子的最大值作比较,小了,交换。public class MaxHeap<E extends Comparable<E>> {...原创 2018-12-05 23:04:48 · 710 阅读 · 0 评论 -
百元百鸡中的数学问题
我前些天在一位大佬的博客中看到了关于百鸡问题的解决方案所想到的问题,数学在对程序的重要性。正常我们看到百鸡问题(公鸡五元一只,母鸡三元一只,小鸡一元三只,100元钱买100只鸡其中公鸡母鸡小鸡各多少只)就直接列个等式x+y+z=100 5x+3y+z/3=100 0<x<20; 0<y<33; 然后就可以写出代码for(int i =1;i&l...原创 2018-08-10 09:54:29 · 844 阅读 · 0 评论 -
链表的翻转
public ListNode reverseListNode(ListNode node){ ListNode pre = null; ListNode now = node;//当前节点 while (now !=null){ ListNode after = now.next; now.next ...原创 2018-08-20 21:16:57 · 110 阅读 · 0 评论 -
链表问题
1判断链表中是否有环设置一个快指针,慢指针,当存在环的情况下就会出现快慢指针相等的情况public ListNode isLoop(ListNode head){//判断是否有环 ,快慢指针相遇,有环, ListNode slow = head; ListNode fast = head; while(fast!=null &&...原创 2018-08-20 21:25:02 · 118 阅读 · 0 评论 -
整数的翻转
示例:输入123 输出321输入-123输出-321这个题主要看反转后是否溢出,这就需要对rev进行判断 public int reverse(int x) { int rev = 0; while (x != 0) { int pop = x % 10; x /= 10...原创 2018-08-28 17:04:07 · 239 阅读 · 0 评论