TL;DR
我盘算写一个链表操纵的系列,来自 Codewars 的 Linked List 系列 kata ,完成言语是 JavaScript 。这篇是开篇,简朴形貌了一下我写这个的目的,也作为系列的目次。
为何要进修链表
我的年度目的之一就是进修一些数据结构和算法,用于打基础和造就逻辑思维能力。Codewars 上的这个系列同时相符这两点。
链表是常常使用数据结构之一,它以至是某些言语(比方 Elixir)的内置数据结构。经由历程本身完成一个链表和常常使用操纵,能够加深明白这类数据结构的优缺点。
链表经常常使用来演习指针操纵,虽然这只对 C 实用,但 JavaScript 等高等言语中掌握援用的思绪实在也差不多。而且链表也是演习递归的抱负数据结构之一。
基于此,每一个 kata 我都邑只管供应递归和轮回两个版本,某些操纵会完成尾递归以相符问题请求。这是一个很有意义的历程,有时刻递归更好,有时刻轮回更好,也有少数时刻二者都不是最优化的计划。
目次
Codewars 上没有总纲,但每一个 kata 都有全部系列的目次。我列举如下,一共 18 个 kata 。每篇的博客链接会在更新后附上。别的,一切代码 都放在 GitHub 上,代码的更新比博客要快,假如以为对你有协助,请帮我点个赞!