数据结构与算法
Milk595
努力做自己喜欢做的事
展开
-
【算法】排序算法--转自阮一峰大神的讲解
排序算法 是计算机科学最古老、最基本的课题之一。要想成为合格的程序员,就必须理解和掌握各种排序算法。 目前,最常见的排序算法大概有七八种,其中"快速排序"(Quicksort)使用得最广泛,速度也较快。它是图灵奖得主C. A. R. Hoare(1934–)于1960时提出来的。 “快速排序”的思想很简单,整个排序过程只需要三步: 在数据集之中,选择一个元素作为“基准”(pivot) 所有小于“基准”的元素,都移到“基准”的左边;所有大于“基准”的元素,都移到“基准”的右边。 对“基准”左边和右边的转载 2020-07-25 14:05:20 · 399 阅读 · 1 评论 -
一遍就懂 之 数据结构--“栈”!快来看看吧!
栈是什么? 一个后进先出的数据结构。 push: 入栈 pop: 出栈 JavaScript中没有栈,但可以用Array实现栈的所有功能。 栈的应用场景: 需要后进先出的场景。 比如: 十进制转二进制、判断字符串的括号是否有效、函数调用堆栈…… 场景一: 十进制转二进制 后出来的余数反而要排到前面。 100011 (一后一前—入栈出栈) 把余数依次入栈,然后再出栈,就可以实现余数倒序输出。 场景二:有效的括号(有效的闭合) --给你一个字符串,里面都是括号,判断字符串里面的括号是否有原创 2020-07-13 13:56:06 · 427 阅读 · 0 评论 -
JavaScript数据结构与算法--简介和时间/空间复杂度计算
数据结构与算法是什么? 数据结构:计算机存储、组织数据的方式,就像锅碗瓢盆。 算法:一系列解决问题的清晰指令,就像食谱。 数据结构与算法的关系: 程序 = 数据结构 + 算法。 数据结构为算法提供服务,算法围绕数据结构操作。 将要学习的数据结构: 栈、队列、链表 (三者:有序的、连成一串的数据结构,就像羊肉串的竹签一样,把肉串起来,有先后顺序。) 集合、字典。(无序的,就像碗,把食物放进去,无序) 树、堆、图。(里面的元素都有一定的连接关系,类似生活中{组织架构、书籍目录—树形结构}、{道路、航班、朋原创 2020-07-12 08:15:39 · 289 阅读 · 0 评论