自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

L_X_Y_HH的博客

。。。

  • 博客(13)
  • 收藏
  • 关注

原创 基于C语言实现哈希表(开散列)

上一篇博客写了基于线性探测实现哈希表的一些方法,但若是负载因子较大时,哈希表的查找数据效率还是会很低,下面将使用开散列来实现哈希表的一些操作开散列又称为链地址法(开链法)首先对关键码集合用散列函数计算散列地址,具有相同地址的关键码归于同一子集合,每一个集合称为一个桶,桶中的元素通过一个单链表链接起来,各链表的头结点存储在哈希表中例如:数据集合{10,51,14,33,18,29},哈希函数Hash...

2018-05-29 10:38:21 2711

原创 基于C语言实现哈希表(线性探测)

之前在写过的很多的结构中都实现过搜索功能,但是不论是顺序搜索还是搜索二叉树,由于元素的存储位置和元素各关键码之间没有对应的关系,所以在查找一个元素的时候必须要经过关键码的多次比较。因此搜索的时间复杂度很难能够达到O(1)。但是如果有一种存储结构,通过某种函数使元素的存储位置与他的关键码之间能够建立一一映射的关系,那么就能够直接地查找到需要地元素,时间复杂度就达到了O(1),那么这种结构就是哈希表。...

2018-05-28 17:24:26 3201

原创 Java SE——Collection接口与其子接口

一、Collection接口1、Collection的接口定义:public interface Collection<E> extends Iterable<E>2、Collection接口的方法(1)add(E e):向集合中添加数据(2)addAll(Collection <? extends E> c):向集合中添加一组数据(3)clear():清空集合...

2018-05-28 14:32:32 814

原创 Java SE——集合类(集合输出)

集合输出有四种方法:Iterator、ListIterator、Enumeration、foreach1.Iterator——迭代输出只要是Collection接口的子类对象,就一定有个Iterator(),取得Iterator对象用于集合类的输出(1)hasNext():判断是否有下一个元素(2) next():取得当前元素(3)remove():删除元素注:在进行集合输出的时候不要修改集合中元...

2018-05-26 15:24:11 963

原创 JavaSE——集合类(Properties类)

属性文件(资源文件):*.properties文件,在这种文件里面其内容的保存形式为"key=value",通过ResourceBundle类读取的时候只能读取内容,要想编辑其内容则需要通过Properties类来完成,这个类是专门做属性处理的。Properties是Hashtable的子类Properties类的常用操作方法(1)setProperty(String key, String va...

2018-05-26 14:53:48 704

原创 JavaSE——IO(File文件与输入输出流)

一、File文件操作类1.File类的使用java.io.File类是一个普通的类,直接产生实例化对象即可。如果要实例化对象则需要使用到两个构造方法public File(String pathname) public File(String parent, String child),设置父路径和子路径(1)创建一个新文件 createNewFile():返回值为boolean...

2018-05-26 11:21:18 1264

原创 二叉树的一些常见基本面试题

1.使用非递归地方式来完成二叉树的先序、中序、后序遍历(1)使用非递归地方式来完成二叉树的先序遍历通过栈来实现首先先将根节点入栈,然后循环,取出栈顶元素为当前元素,并打印当前元素,再将当前元素的右子树和左子树先后入栈,再重复之前的操作,直到栈为空,循环结束,详细操作见图(竖向来看)340 //先序341 void TreePreOrderByLoop(TreeNode* root)342 {...

2018-05-13 18:30:03 377

原创 基于C语言实现二叉搜索树

二叉搜索树的特点是左子树<根节点<右子树,并且任何节点的左右子树的高度差不超过1,搜索二叉树与满二叉树无关,只要满足上面的条件即可1.初始化操作此时传入的为根节点的指针的指针 40 //初始化 41 void SearchTreeInit(SearchNode** pRoot) 42 { 43 if(pRoot == NULL) 44 { 45 ...

2018-05-13 16:48:44 262

原创 基于C语言实现堆的一些操作

堆是一个完全二叉树,堆分两种,一种为小堆,一种为大堆小堆是指对于这个树的任意任意一个子树来说,子树的根节点都要小于左右孩子节点的值,小堆的根节点是这个树的最小元素大堆是指对于这个树的任意任意一个子树来说,子树的根节点都要大于左右孩子节点的值,大堆的根节点是这个树的最大元素1.对堆进行初始化操作其中有一个比较函数Compare,来比较确定是大堆还是小堆 16 //初始化,决定是大堆还是小堆 17 ...

2018-05-13 16:18:10 1064

原创 JavaSE——反射与单级VO操作

希望能对程序做简化,输入字符串"属性名称:属性值|属性名称:属性值|属性名称:属性值|....",就可以将类中的属性设置好。希望通过此程序实现任意的简单Java类的属性设置。所有的操作是通过TestDemo类调用EmpAction类实现的,而EmpAction类的主要作用是在于定位要操作的属性类型。同时该程序应该符合于所有简单的Java类开发形式,因此对于我们的设计而言必须有一个单独的类(Bean...

2018-05-12 16:09:26 337

原创 Java SE——反射的五大核心类

一、反射与父类——Class1.取得父类包名称    getPackage()2.取得父类的Class对象    getSuperclass()3.取得实现的所有分类接口    getInterfaces():返回值为数组package Practise;interface IFruit {}interface IMessage{}class CLS implements IFruit,...

2018-05-11 17:54:18 606

原创 JavaSE——多线程同步的两大方式

实现多线程同步有两大方式——synchronized和lock同步是指所有的线程不是一起进入到方法中执行,而是按照顺序一个一个进来的一、synchronized处理同步问题1.同步代码块使用同步代码块必须要设置一个要锁定的对象,一般为this该方法进入到方法中的线程依然可能有多个,但是,进入到代码块中只能有一个线程//使用同步代码块来实现多线程的同步class MyThread implemen...

2018-05-05 14:57:13 632

原创 基于C语言实现二叉树

树是一种数据结构,是由n (n>=1)个有限点组成一个具有层次关系的集合而二叉树是每个结点最多有两个子树的树结构下面是关于二叉树的一些简单操作在之前写过的链表中,是用链表的头节点的指针来表示一个链表,那么在二叉树中,同样是使用根节点的指针来表示一个二叉树 4 typedef struct TreeNode 5 { 6 TreeNodeType data; 7 s...

2018-05-02 21:20:54 635

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除