GithubHelp home page GithubHelp logo

yll521 / structuresandalgorithms-code Goto Github PK

View Code? Open in Web Editor NEW

This project forked from emilyyoung71415/structuresandalgorithms-code

0.0 1.0 0.0 1.12 MB

重温数据结构与算法,代码实践

JavaScript 97.58% HTML 2.42%

structuresandalgorithms-code's Introduction

前言:

索引:

  • 链表
  • 栈队列
  • 散列表

linkedlist

链表

知识点

  • 链表的顺序表示及其基本操作实现
  • 单链表表示及其基本操作实现
  • 双链表...实现
  • 循环链表...实现

经典题

  • 判断链表是否有环
  • 反转链表
  • 两个有序链表合并
  • 求链表中间节点
  • 删除倒数第n个节点
  • 两个单链表的公共节点

leetcode建议练习题号:

业界应用

  • 如何实现LRU缓存淘汰算法

stack & queue

栈、队列

知识点 栈 队列 双端队列 优先队列:堆结构的实现

经典题

  • 括号匹配
  • 表达式求值(中缀表达式转后缀表达式)
  • 队列-层次遍历
  • 栈实现队列、队列实现栈
  • 双端队列-返回滑动窗口的最大值
  • 小顶堆-返回数据流的第k大元素

leetcode建议练习题号:

业界应用

  • 如何实现浏览器的前进后退功能

hash

散列表即键值对的集合,js里常用{ }、new Map()表示

知识点

  • 散列函数与散列表
  • 处理冲突的方法
    • 开放地址法
    • 拉链法
  • js里的Map、WeakMap

经典题

  • 有效字母异位词
  • two sum
  • three sum

leetcode建议练习题号:

业界应用

  • 哈希算法应用:安全加密、数据校验、唯一标识、散列函数
  • 哈希算法在分布式系统的应用:
  • 打造工业级水平的散列表
  • 散列表应用-布隆过滤器
  • 散列表应用思考
    • word的单词拼写检查功能
    • 将10万条URL访问日志的数据按照访问次数排序
    • 两个字符串数组,每个数组10万条字符串,如何快速找出两个数组中相同的字符串

tree

知识点

  • 树的基本概念(度、高度、完全二叉、满二叉)
  • 树的遍历(前序、后序、中序、层序)、根据遍历序列建树
  • 二叉搜索树BST
  • 并查集
  • 平衡二叉树AVL
  • 线段树
  • 树状数组
  • 哈夫曼树及其编码

经典题

  • 翻转二叉树
  • 二叉树的最大深度
  • 查找二叉搜索树的某个节点的前驱、后继节点
  • 验证二叉搜索树
  • 路径总和

leetcode建议练习题号:

业界应用

heap

知识点 构建大顶堆、小顶堆

经典题

  • 堆排序
  • 实时数据流的第k大元素
  • 合并k个有序链表

leetcode建议练习题号:

业界应用

recusionandconquer

递归与分治

知识点

经典题

leetcode建议练习题号:

业界应用

DFS & BFS

深度优先搜索、广度优先搜索

知识点

经典题

  • 二叉树的层序遍历
  • 二叉树的最大深度、最小深度
  • 生成有效的括号组合

leetcode建议练习题号:

业界应用

structuresandalgorithms-code's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.