![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA数据结构与算法
iteye_10820
这个作者很懒,什么都没留下…
展开
-
java数据结构 冒泡排序的遍历与排序
java的冒泡排序是一种简单的排序规则 冒泡排序的原理: 比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样; 针对所有的元素重复以上的步骤,除了最后一个 例题;将int array[] = {1,2,34,3,423,23,23,2};这个数组使用冒泡排序法从小到大排序分析:使用for来取数 ,嵌套for...原创 2014-05-16 13:12:30 · 210 阅读 · 0 评论 -
解决java数据交换之谜
交换两个数字的方法有以下三种 ,其中第一种最常用 /*输出最小的一个数*/public class jiaohuan1 { public static void main(String[] args) { int a =4; int b = 3; if(a<b){ // 第一种交换方式 int tmep = a;...原创 2014-05-16 14:48:01 · 96 阅读 · 0 评论 -
遍历的方法
遍历在java的泛型数据中,怎么将其中的数据全部取出来:下面介绍三种常用的方法 定义一个ArrayList来存储数据: import java.util.*;public class ArrayListTest<E>{ public sta...原创 2014-05-17 14:28:36 · 283 阅读 · 0 评论 -
java取反 -右移-左移-无符号右移的探讨
取反: 在二进制中第一位,1表示符数,0表示正数 byte a = -1; 原码:10000001 反码:11111110 补码:11111111 //异或: 00000000 byte b = -2; 原码:10000010 反码:11111101 补码:11111110 //异或: 00000001 ...2014-06-10 17:01:28 · 163 阅读 · 0 评论 -
自定义数据结构 链表(单项 ,双向,环形)
链表与动态数组的实现方式差不多, 数组适合快速删除某个元素 链表则可以快速的保存数组并且可以是不连续的 单项链表;数据从第一个指向最后一个 实现代码: //定义动态链表class Node<E>{ E e;//定义的节点 Node next;//节点的下一个 Node front ;//节点...2014-07-18 21:36:40 · 170 阅读 · 0 评论 -
二叉树数据结构
树一个节点可以有多个下级节点,但只有一个上级节点 二叉树:一个节点可以有不多于两个的下级节点,但只有一个上级节点 完全二叉树满二叉树B树B+树B-树 二叉树的遍历方式:先序遍历 中序遍历 后序遍历 JAVA实现二叉树的代码; package com.Tree.com;/** * 定义树...2014-07-19 22:07:11 · 97 阅读 · 0 评论 -
哈夫曼树和编码
哈夫曼树:所有的叶子节点的加权路径和最小的 哈夫曼编码:每个叶子节点的编码 从跟节点到达该叶子节点经历的路径(枝节点) 左枝节点:0 右枝节点:1每个叶子节点的路径都可以转成一个01字符串,这个01串就是哈夫曼编码 根据给定的数组创建哈夫曼树和哈夫曼编码:代码如下 package com.HuffmanCode;/**...2014-07-21 20:14:08 · 142 阅读 · 0 评论 -
哈夫曼加密文件
在上一篇介绍过哈夫曼编码的基础知识,下面就直接介绍使用哈夫曼编码怎么来做文件加密或者压缩与解压的软件,对于新手来是有点难度的,主要还是要理清楚步骤; 加密步骤: 1,统计文件中字节出现的次数,作为权值 2,创建节点和哈夫曼树 3,得到每个子节点01串 4,使用哈夫曼编码表示每个字节 5,将哈夫曼编码每8位转成一个byte 6,定义写出文件的...2014-07-30 11:26:18 · 1084 阅读 · 1 评论 -
排序算法详解
1.插入排序 基本思想: 将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。 要点:设立哨兵,作为临时存储和判断数组边界之用。 直接插入排序示例: 如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素...2014-09-12 14:38:29 · 80 阅读 · 0 评论