前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这个开源项目火了!

这个开源项目火了!

原创
作者头像
程序员阿杜
修改2021-04-22 10:05:26
4970
修改2021-04-22 10:05:26
举报
文章被收录于专栏:开源君开源君

程序员的双手是魔术师的双手,他们把枯燥无味的代码变成了丰富多彩的软件。——《疯狂的程序员》

前言

数据结构想必大家都不会陌生,对于一个成熟的程序员而言,熟悉和掌握数据结构和算法也是基本功之一。数据结构本身其实不过是数据按照特点关系进行存储或者组织的集合,特殊的结构在不同的应用场景中往往会带来不一样的处理效率。

数据结构与算法Java实现版

项目说明

本项目用Java实现了常见的数据结构与算法,项目结构使用某一数据结构为接口,分别用来连续存储和链式存储进行实现.并包含完整的注释信息.方便阅读与学习.

主要内容

常用数据结构及其算法的Java实现,包括但不仅限于以下部分:

线性表

顺序存储结构实现 2021/4/10完成 链表存储结构实现 2021/4/11完成

顺序存储结果实现 2021/4/13完成 链式存储结构实现 2021/4/15完成

队列

链式存储结构实现 2021/4/20完成 线性存储结构实现 2021/4/20完成

散列

使用Array和linked结合实现Java中的HashMap 2021/4/21完成 查找算法 待开发...

顺序表查找 有序表查找 线性索引查找 二叉排序树平衡二叉树 多路查找树 散列表(哈希表)查找

排序算法 待开发...

冒泡排序 简单选择排序 直接插入排序 希尔排序 堆排序 归并排序 快速排序

等等......

代码规范

该项目严格遵循Java语言的编码规范,并且有很详细的注释

并且每种数据结构都定义了接口,通过数组方式和链表方式分别实现,很适合大家学习.

下方为用数组实现的线性表的部分代码,供大家预览.

代码语言:txt
复制
    /**
     * 默认容量
     */
    private static final int DEFAULT_CAPACITY = 10;

    private Object [] elementData;

    /**
     * 默认扩容倍数
     */
    private static final int DEFAULT_EXPAND_MULTIPLE = 2;

    /**
     * 元素数量
     */
    private int size;

    /**
     * 创建默认容量(10)的数组线性表
     */
    public ArrayList() {
        elementData = new Object[DEFAULT_CAPACITY];
        size = 0;
    }

    /**
     * 创建指定大小的数组线性表
     * @param size 指定大小
     * @throws Exception 若传入的容量大于9999或者小于0则抛出此异常
     */
    public ArrayList(int size) throws Exception {
        if(size <= 0 || size > 9999) throw new Exception("容量数据错误!");
        elementData = new Object[size];
    }

参考书籍

书名

作者

出版社

ISBN

《大话数据结构》

程杰

清华大学出版社

978-7-302-25565-9

《数据结构与算法分析Java语言描述》

马克思·艾伦·维斯

陈越

机械工业出版社

978-7-111-52839-5

《Java编程思想》

Bruce Eckel

陈昊鹏

机械工业出版社

978-7-111-2138-6

项目说明

目前,项目并没有完成,仍在继续更新!

项目截图

项目主页截图
项目主页截图

项目地址

https://github.com/shaoxiongdu/DataStructureForJava

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 项目说明
  • 主要内容
    • 常用数据结构及其算法的Java实现,包括但不仅限于以下部分:
    • 代码规范
    • 参考书籍
    • 项目说明
    • 项目截图
    • 项目地址
    相关产品与服务
    对象存储
    对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档