{"id":16412220,"url":"https://github.com/waylau/java-data-structures-and-algorithms-in-action","last_synced_at":"2025-03-23T06:31:09.832Z","repository":{"id":63360600,"uuid":"254995687","full_name":"waylau/java-data-structures-and-algorithms-in-action","owner":"waylau","description":"Java Data Structures and Algorithms In Action. Java数据结构和算法实战","archived":false,"fork":false,"pushed_at":"2022-11-25T15:20:59.000Z","size":794,"stargazers_count":13,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-18T18:21:35.470Z","etag":null,"topics":["algorithms","java","junit"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/waylau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-12T02:42:36.000Z","updated_at":"2025-02-05T01:04:56.000Z","dependencies_parsed_at":"2022-11-17T16:15:50.444Z","dependency_job_id":null,"html_url":"https://github.com/waylau/java-data-structures-and-algorithms-in-action","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waylau%2Fjava-data-structures-and-algorithms-in-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waylau%2Fjava-data-structures-and-algorithms-in-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waylau%2Fjava-data-structures-and-algorithms-in-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waylau%2Fjava-data-structures-and-algorithms-in-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/waylau","download_url":"https://codeload.github.com/waylau/java-data-structures-and-algorithms-in-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245066496,"owners_count":20555402,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","java","junit"],"created_at":"2024-10-11T06:48:03.441Z","updated_at":"2025-03-23T06:31:09.029Z","avatar_url":"https://github.com/waylau.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Java Data Structures and Algorithms In Action. Java数据结构和算法实战/《数据结构和算法基础（Java语言实现）》\n\n\n涉及的相关技术及版本如下。\n\n* JDK 15\n* Apache Maven 3.6.3\n* JUnit 5.6.2\n\n### Related 相关文章\n\n* [Eclipse IDE支持Java 14](https://waylau.com/eclipse-ide-support-java14/)\n* [在Maven项目中运行JUnit 5测试用例](https://waylau.com/running-junit5-tests-with-maven/)\n* [聊下什么是数据结构和算法](https://waylau.com/what-are-data-structures-and-algorithms/)\n* [算法的四种描述方式](https://waylau.com/description-of-algorithms/)\n* [程序性能的两种表示方式](https://waylau.com/two-ways-to-express-program-performance/)\n* [渐近记法](https://waylau.com/asymptotic-notation/)\n* [算法复杂度等级及其分析](https://waylau.com/algorithm-complexity-level/)\n* [Java队列01——Queue概述](https://developer.huawei.com/consumer/cn/forum/topicview?tid=0201259752710220534\u0026fid=23)\n* [Java队列02——阻塞队列BlockingQueue](https://developer.huawei.com/consumer/cn/forum/topicview?tid=0201259755234080557\u0026fid=23)\n* [Java队列03——数组实现的阻塞队列ArrayBlockingQueue](https://developer.huawei.com/consumer/cn/forum/topicview?tid=0201259756622090558\u0026fid=23)\n* [Java队列04——链表实现的阻塞队列LinkedBlockingQueue](https://developer.huawei.com/consumer/cn/forum/topicview?tid=0201259760684390535\u0026fid=23)\n* [Java队列05——数组实现的优先级队列PriorityQueue](https://developer.huawei.com/consumer/cn/forum/topicview?tid=0201262420212240007\u0026fid=23)\n* [Java队列06——数组实现的优先级阻塞队列PriorityBlockingQueue](https://developer.huawei.com/consumer/cn/forum/topicview?tid=0201262420998060008\u0026fid=23)\n* [Java队列07——双端队列Deque](https://developer.huawei.com/consumer/cn/forum/topicview?tid=0201262421436060001\u0026fid=23)\n* [Java队列08——数组实现的双端队列ArrayDeque](https://developer.huawei.com/consumer/cn/forum/topicview?tid=0201262422263910002\u0026fid=23)\n* [Java树形结构01——树形结构的概述](https://developer.huawei.com/consumer/cn/forum/topicview?tid=0201301217688820096\u0026fid=23)\n* [Java树形结构02——数组实现的二叉树](https://developer.huawei.com/consumer/cn/forum/topicview?tid=0201311694866010239\u0026fid=23)\n* [Java树形结构03——链表实现的二叉树](https://developer.huawei.com/consumer/cn/forum/topicview?tid=0201311730782590289\u0026fid=23)\n* [Java树形结构04——Huffman树的实现](https://developer.huawei.com/consumer/cn/forum/topicview?tid=0202349832252380522\u0026fid=23)\n* [HJ1\t字符串最后一个单词的长度](https://developer.huawei.com/consumer/cn/blog/topic/03950984970640368) \n* [HJ2\t计算某字符出现次数](https://www.nowcoder.com/discuss/385516884949561344) \n* [HJ3\t明明的随机数](https://www.nowcoder.com/discuss/385534231932416000) \n* [HJ5\t进制转换](https://www.nowcoder.com/discuss/385561960736153600) \n* [HJ6\t质数因子](https://www.nowcoder.com/discuss/385570426108354560)  \n* [HJ7\t取近似值](https://www.nowcoder.com/discuss/385742337350139904)  \n* [HJ8\t合并表记录](https://www.nowcoder.com/discuss/385801740262678528)  \n* [HJ9\t提取不重复的整数](https://www.nowcoder.com/discuss/385809387770720256)  \n* [HJ10\t字符个数统计](https://www.nowcoder.com/discuss/385814959563845632)  \n* [HJ11\t数字颠倒](https://www.nowcoder.com/discuss/385818821309853696)  \n* [HJ12\t字符串反转](https://www.nowcoder.com/discuss/385826626154586112)  \n* [HJ13\t句子逆序](https://www.nowcoder.com/discuss/385834034344079360)   \n* [HJ14\t字符串排序](https://www.nowcoder.com/discuss/385841928288444416)   \n* [HJ15\t求int型正整数在内存中存储时1的个数](https://www.nowcoder.com/discuss/385848508824252416)   \n* [HJ16\t购物单 | 求int型正整数在内存中存储时1的个数](https://developer.huawei.com/consumer/cn/blog/topic/03957085907630418) \n* [HJ17\t坐标移动](https://www.nowcoder.com/discuss/388105161632227328) \n* [HJ18\t识别有效的IP地址和掩码并进行分类统计](https://www.nowcoder.com/discuss/388105161632227328) \n* [HJ19\t简单错误记录](https://www.nowcoder.com/discuss/388355415354994688) \n* [HJ20\t密码验证合格程序](https://www.nowcoder.com/discuss/388488274967375872) \n* [HJ21\t简单密码](https://developer.huawei.com/consumer/cn/blog/topic/03959676183300422) \n* [HJ22\t汽水瓶](https://developer.huawei.com/consumer/cn/blog/topic/03959679097380398) \n* [HJ23\t删除字符串中出现次数最少的字符](https://developer.huawei.com/consumer/cn/blog/topic/03959679688380423) \n* [HJ24\t合唱队](https://developer.huawei.com/consumer/cn/blog/topic/03959680171530399) \n* [HJ25\t数据分类处理](https://developer.huawei.com/consumer/cn/blog/topic/03960247373750004) \n* [HJ26\t字符串排序](https://developer.huawei.com/consumer/cn/blog/topic/03961104367000009) \n* [HJ27\t查找兄弟单词](https://developer.huawei.com/consumer/cn/blog/topic/03961104945430010) \n* [HJ28\t素数伴侣](https://developer.huawei.com/consumer/cn/forum/topic/0201961563027980063?fid=23) \n* [HJ29\t字符串加解密](https://developer.huawei.com/consumer/cn/forum/topic/0201961564040100064?fid=23) \n* [HJ30\t字符串合并处理](https://developer.huawei.com/consumer/cn/forum/topic/0201961564886470065?fid=23) \n* [HJ31\t单词倒排](https://developer.huawei.com/consumer/cn/forum/topic/0202961565357580058?fid=23) \n* [HJ32\t密码截取](https://developer.huawei.com/consumer/cn/forum/topic/0202961565688230060?fid=23) \n* [HJ33\t整数与IP地址间的转换](https://developer.huawei.com/consumer/cn/forum/topic/0202961565967760061?fid=23) \n* [HJ34\t图片整理](https://developer.huawei.com/consumer/cn/forum/topic/0202962448032910093?fid=23) \n* [HJ35\t蛇形矩阵](https://developer.huawei.com/consumer/cn/forum/topic/0201962448825740090?fid=23) \n* [HJ36\t字符串加密](https://developer.huawei.com/consumer/cn/forum/topic/0202962449147710094?fid=23) \n* [HJ37\t统计每个月兔子的总数](https://developer.huawei.com/consumer/cn/forum/topic/0201962449375820091?fid=23) \n* [HJ38\t求小球落地5次后所经历的路程和第5次反弹的高度](https://developer.huawei.com/consumer/cn/forum/topic/0202962449636360095?fid=23) \n* [HJ39\t判断两个IP是否属于同一子网](https://developer.huawei.com/consumer/cn/forum/topic/0202962449864290096?fid=23) \n* [HJ40\t统计字符](https://developer.huawei.com/consumer/cn/forum/topic/0201962450098810092) \n* [HJ41\t称砝码](https://developer.huawei.com/consumer/cn/forum/topic/0202962481336760098?fid=23) \n* [HJ42\t学英语](https://developer.huawei.com/consumer/cn/forum/topic/0202963001678560114?fid=23) \n* [HJ43\t迷宫问题](https://developer.huawei.com/consumer/cn/forum/topic/0202965704732140151?fid=23) \n* [HJ44\tSudoku](https://developer.huawei.com/consumer/cn/forum/topic/0202966587559640178?fid=23)  \n* [HJ45\t名字的漂亮度](https://developer.huawei.com/consumer/cn/forum/topic/0202966587878410179) \n* [HJ46\t截取字符串](https://www.nowcoder.com/discuss/391715118583750656)\n* [HJ48\t从单向链表中删除指定值的节点](https://www.nowcoder.com/discuss/391737714800963584) \n* [HJ50\t四则运算](https://developer.huawei.com/consumer/cn/blog/topic/03967446457900035) \n* [HJ51\t输出单向链表中倒数第k个结点](https://developer.huawei.com/consumer/cn/forum/topic/0201968973913190037) \n* [HJ52\t计算字符串的编辑距离](https://developer.huawei.com/consumer/cn/forum/topic/0201968974461030038?fid=23) \n* [HJ53\t杨辉三角的变形](https://developer.huawei.com/consumer/cn/blog/topic/03969110110960052) \n* [HJ54\t表达式求值](https://developer.huawei.com/consumer/cn/forum/topic/0201969110884790039?fid=23) \n* [HJ55\t挑7](https://developer.huawei.com/consumer/cn/forum/topic/0202969111232730241?fid=23) \n* [HJ56\t完全数计算](https://developer.huawei.com/consumer/cn/forum/topic/0202969111474650242?fid=23) \n* [HJ57\t高精度整数加法](https://developer.huawei.com/consumer/cn/forum/topic/0201969160578930041?fid=23) \n* [HJ60\t查找组成一个偶数最接近的两个素数](https://developer.huawei.com/consumer/cn/forum/topic/0202969186258850248?fid=23) \n* [HJ61\t放苹果](https://developer.huawei.com/consumer/cn/forum/topic/0201969914468230051?fid=23) \n* [HJ63\tDNA序列](https://developer.huawei.com/consumer/cn/forum/topic/0201969978087260053?fid=23) \n* [HJ64\tMP3光标位置](https://developer.huawei.com/consumer/cn/blog/topic/03970067194740045) \n* [HJ65\t查找两个字符串a,b中的最长公共子串](https://developer.huawei.com/consumer/cn/forum/topic/0201970095675440054?fid=23) \n* [HJ66\t配置文件恢复](https://developer.huawei.com/consumer/cn/forum/topic/0202970130954300256?fid=23) \n* [HJ67\t24点游戏算法](https://developer.huawei.com/consumer/cn/forum/topic/0202970229864290259?fid=23) \n* [HJ68\t成绩排序](https://developer.huawei.com/consumer/cn/forum/topic/0202970277812060260?fid=23) \n* [HJ70\t矩阵乘法计算量估算](https://developer.huawei.com/consumer/cn/forum/topic/0202970889963760266?fid=23) \n* [HJ71\t字符串通配符](https://developer.huawei.com/consumer/cn/forum/topic/0201971068295500060?fid=23) \n* [HJ75\t公共子串计算](https://www.nowcoder.com/discuss/393551055399792640) \n* [HJ77\t火车进站](https://developer.huawei.com/consumer/cn/forum/topic/0202972334954820290?fid=23)  \n* [HJ85\t最长回文子串](https://developer.huawei.com/consumer/cn/forum/topic/0202971858902280282?fid=23) \n* [HJ88\t扑克牌大小](https://developer.huawei.com/consumer/cn/forum/topic/0202971911289010285?fid=23) \n* [HJ95\t人民币转换](https://developer.huawei.com/consumer/cn/forum/topic/0201971961931650078?fid=23) \n* [NC61 两数之和](https://developer.huawei.com/consumer/cn/forum/topic/0203102339152293150?fid=23)\n* [JZ42 连续子数组的最大和](https://developer.huawei.com/consumer/cn/forum/topic/0204102352622179160?fid=23)\n* [NC270 把数组排成最小的数](https://developer.huawei.com/consumer/cn/forum/topic/0204102597329763202?fid=23)\n* [NC27 集合的所有子集（一）](https://developer.huawei.com/consumer/cn/forum/topic/0203102621699052203?fid=23)\n* [NC54 三数之和](https://developer.huawei.com/consumer/cn/forum/topic/0204102636376530221?fid=23)\n* [NC170 最长不含重复字符的子字符串](https://developer.huawei.com/consumer/cn/forum/topic/0203102647725528207?fid=23)\n* [NC41 最长无重复子数组](https://developer.huawei.com/consumer/cn/forum/topic/0204102678513542223?fid=23)\n* [NC133 链表的奇偶重排](https://developer.huawei.com/consumer/cn/forum/topic/0203102681137882214?fid=23)\n* [NC223 从中序与后续遍历序列构造二叉树](https://developer.huawei.com/consumer/cn/blog/topic/03102696298575027)\n* [NC44 通配符匹配](https://developer.huawei.com/consumer/cn/blog/topic/03102698255507029)\n* [NC92 最长的公共子序列（二）](https://developer.huawei.com/consumer/cn/blog/topic/03102780476537034)\n* [NC109 岛屿数量](https://developer.huawei.com/consumer/cn/blog/topic/03102788567314036)\n* [NC39 N皇后问题](https://developer.huawei.com/consumer/cn/blog/topic/03102856737594003)\n* [NC46 加起来和为目标值的组合(二)](https://developer.huawei.com/consumer/cn/blog/topic/03102871995044005)\n* [NC228 判断子序列](https://developer.huawei.com/consumer/cn/blog/topic/03102876056086005)\n* [NC190 字符串的全部子序列](https://developer.huawei.com/consumer/cn/blog/topic/03102881484929006)\n* [NC301 最大数字交换](https://developer.huawei.com/consumer/cn/blog/topic/03102941443529007)\n* [NC302 环形数组的连续子数组最大和](https://developer.huawei.com/consumer/cn/blog/topic/03102954812943008)\n* [JZ38 字符串的排列](https://developer.huawei.com/consumer/cn/blog/topic/03102963204000008)\n* [JZ36 二叉搜索树与双向链表](https://developer.huawei.com/consumer/cn/blog/topic/03103221491089011)\n* [JZ31 栈的压入、弹出序列](https://developer.huawei.com/consumer/cn/forum/topic/0201104088717445272)\n* [NC52 有效括号序列](https://developer.huawei.com/consumer/cn/forum/topic/0201104091461031275?fid=23)\n* [NC175 合法的括号字符串](https://developer.huawei.com/consumer/cn/blog/topic/03104176756471041)\n* [NC85 拼接所有的字符串产生字典序最小的字符串](https://developer.huawei.com/consumer/cn/forum/topic/0202104254018684296)\n* [NC36 在两个长度相等的排序数组中找到上中位](https://developer.huawei.com/consumer/cn/forum/topic/0202104260380514297)\n\n### Host 托管\n\n* GitHub：\u003chttps://github.com/waylau/java-data-structures-and-algorithms-in-action/\u003e\n* 码云：\u003chttps://gitee.com/waylau/java-data-structures-and-algorithms-in-action/\u003e\n\n## 配套书籍《数据结构和算法基础（Java语言实现）》\n\n\n与该源码配套的书籍《数据结构和算法基础（Java语言实现）》已经出版，内容详见全书[目录](SUMMARY.md)。\n有关本书的介绍，请移步\u003chttps://waylau.com/java-data-structures-and-algorithms-in-action-book-three-features/\u003e 。\n\n![](images/book-logo.png)\n\n\n本书如有勘误，会在\u003chttps://github.com/waylau/java-data-structures-and-algorithms-in-action/issues\u003e上进行发布。由于笔者能力有限，时间仓促，难免错漏，欢迎读者批评指正。\n\n您也可以上[豆瓣](https://book.douban.com/subject/35691026/)给老卫打Call。\n\n\n\n## 如何获取本书\n\n实体店及各大网店有售。据我所知有如下网站供应：\n\n* [京东](https://item.jd.com/13014179.html)\n* [淘宝](https://s.taobao.com/search?q=%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%92%8C%E7%AE%97%E6%B3%95%E5%9F%BA%E7%A1%80%EF%BC%88Java%E8%AF%AD%E8%A8%80%E5%AE%9E%E7%8E%B0%EF%BC%89+%E6%9F%B3%E4%BC%9F%E5%8D%AB)\n* [当当](http://search.dangdang.com/?key=%C1%F8%CE%B0%CE%C0%20%CA%FD%BE%DD%BD%E1%B9%B9%BA%CD%CB%E3%B7%A8%BB%F9%B4%A1%A3%A8Java%D3%EF%D1%D4%CA%B5%CF%D6%A3%A9\u0026act=input)\n\n\n\n想低于市价得到本书？来[二手书集市](https://github.com/waylau/second-hand-books)试试看。\n\n\n也可以直接关注我博客（\u003chttps://waylau.com/\u003e）或者我的开源书（\u003chttps://waylau.com/books/\u003e）了解更多免费咨询。\n\n\n## 联系作者\n\n您也可以直接联系我：\n\n* 博客：https://waylau.com\n* 邮箱：[waylau521(at)gmail.com](mailto:waylau521@gmail.com)\n* 微博：http://weibo.com/waylau521\n* 开源：https://github.com/waylau\n\n## 其他书籍\n\n若您对本书不感冒，笔者还写了其他方面的超过一打的书籍（可见\u003chttps://waylau.com/books/\u003e），多是开源电子书。\n\n本人也维护了一个[books-collection](https://github.com/waylau/books-collection)项目，里面提供了优质的专门给程序员的开源、免费图书集合。\n\n## 开源捐赠\n\n\n![开源捐赠](https://waylau.com/images/showmethemoney-sm.jpg)\n\n捐赠所得所有款项将用于开源事业！见[捐赠列表](https://waylau.com/donate)。","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaylau%2Fjava-data-structures-and-algorithms-in-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwaylau%2Fjava-data-structures-and-algorithms-in-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaylau%2Fjava-data-structures-and-algorithms-in-action/lists"}