Title: 【028-毕业总结】 · Issue #291 · algorithm002/algorithm · GitHub
Open Graph Title: 【028-毕业总结】 · Issue #291 · algorithm002/algorithm
X Title: 【028-毕业总结】 · Issue #291 · algorithm002/algorithm
Description: 名称 原理 复杂度 稳定性 0 1 排序 使用 i 指向第一个 1,j 指向 i 后的第一个 0,swap(i++,j++) O(n) 是 插入排序 对于元素索引i(i>=1),从头开始,若能找到比 a[i] 大对元素 a[j],则记录 a[i] 的值,将索引 j~i-1 的元素向后移动一位,使用 a[i] 替换 a[j]。优化思路:针对数组可以采用二分查找找到当前元素的插入位置,链表不需要位移操作。 O(n^2/2) 是 选择排序 从当前元素开始遍历,记录最小值的索引...
Open Graph Description: 名称 原理 复杂度 稳定性 0 1 排序 使用 i 指向第一个 1,j 指向 i 后的第一个 0,swap(i++,j++) O(n) 是 插入排序 对于元素索引i(i>=1),从头开始,若能找到比 a[i] 大对元素 a[j],则记录 a[i] 的值,将索引 j~i-1 的元素向后移动一位,使用 a[i] 替换 a[j]。优化思路:针对数组可以采用二分查找找到当前元素的插入位置,链表不需要...
X Description: 名称 原理 复杂度 稳定性 0 1 排序 使用 i 指向第一个 1,j 指向 i 后的第一个 0,swap(i++,j++) O(n) 是 插入排序 对于元素索引i(i>=1),从头开始,若能找到比 a[i] 大对元素 a[j],则记录 a[i] 的值,将索引 j~i-1 的元素向后移动一位,使用 a[i] 替换 a[j]。优化思路:针对数组可以采用二分查找找到当前元素的插入位置,链表...
Opengraph URL: https://github.com/algorithm002/algorithm/issues/291
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"【028-毕业总结】","articleBody":"\r\n名称 | 原理 | 复杂度 | 稳定性\r\n-- | -- | -- | --\r\n0 1 排序 | 使用 i 指向第一个 1,j 指向 i 后的第一个 0,swap(i++,j++) | O(n) | 是\r\n插入排序 | 对于元素索引i(i\u003e=1),从头开始,若能找到比 a[i] 大对元素 a[j],则记录 a[i] 的值,将索引 j~i-1 的元素向后移动一位,使用 a[i] 替换 a[j]。优化思路:针对数组可以采用二分查找找到当前元素的插入位置,链表不需要位移操作。 | O(n^2/2) | 是\r\n选择排序 | 从当前元素开始遍历,记录最小值的索引,根据索引交换当前值的最小值,选择排序每次选出最小的元素和当前元素交换。选择排序基于链表实现,使用指针记录最小元素。选择排序最多只需进行 n 次赋值操作。 | O(n^2/2) | 是\r\n堆排序 | 首先将队列中元素全部入堆,再将其依次出堆。堆,堆顶元素为堆中的最大(小)值的完全二叉树,完全二叉树,把元素顺序排成树的形状。Sift UP 原理:只有战胜底层子节点,才能向上。Sift Down 原理:临时小弟被打败。第 K 大元素(Top N),使用 K 小顶堆。 | O(n*log(2,n))\r\n冒泡排序 | 从头到尾,发现前一位大于后一位,互换位置,第一排序保证数值最大的元素排到最后,尾部减 1。头尾相等时停止。冒泡排序交换次数多。 | O(n^2/2)\r\n快速排序 | 使用 parttion 函数,将数组中的第一个元素置于正确的顺序位置(左边元素比他小,右边大于等于),对基点左右的队列递归进行快速排序。快排的终止条件,左右界相等,则返回左界或右界。partition 函数:x 为第一个元素,小于 x 左边,大于等于 x 右边,左边初始数组 [-1,0),右边初始数组[0,0], i 从位置 1 开始遍历,若小于 x,和右边数组的第一位置换,左右边数组向后移动一位。 | O(n*log(2,n))\r\n归并排序 | 对左边进行归并排序,得到数组 left,对右边进行归并排序,得到结果 right,合并 left 和 right,结束条件,进行归并排序到数组长度为 1 时,返回原数组,归并是一种外部排序。 | O(n*log(2,n))\r\n\r\n","author":{"url":"https://github.com/Jerrydreamaker","@type":"Person","name":"Jerrydreamaker"},"datePublished":"2019-07-07T15:30:59.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/291/algorithm/issues/291"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:41745109-6134-e5e8-3fe1-2a8f39ec2cee |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | ED6A:13D6E:164E2AB:1DE1FFA:69706788 |
| html-safe-nonce | 03ab69a1e69de957000308d8a8ac6c279653f0930fbebe9d6fe806a8af351716 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFRDZBOjEzRDZFOjE2NEUyQUI6MURFMUZGQTo2OTcwNjc4OCIsInZpc2l0b3JfaWQiOiI1OTUyMzA5MzE2NjA0MTU5ODgwIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 76272b654853ddcd102efada28dcfe5f373f154c6e5810be4dfcb95fcb44f469 |
| hovercard-subject-tag | issue:464964412 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/algorithm002/algorithm/291/issue_layout |
| twitter:image | https://opengraph.githubassets.com/625cc033f3eec96f6353dedde5336062d5d7a2ad94d45ab7cc661fd071b16b9f/algorithm002/algorithm/issues/291 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/625cc033f3eec96f6353dedde5336062d5d7a2ad94d45ab7cc661fd071b16b9f/algorithm002/algorithm/issues/291 |
| og:image:alt | 名称 原理 复杂度 稳定性 0 1 排序 使用 i 指向第一个 1,j 指向 i 后的第一个 0,swap(i++,j++) O(n) 是 插入排序 对于元素索引i(i>=1),从头开始,若能找到比 a[i] 大对元素 a[j],则记录 a[i] 的值,将索引 j~i-1 的元素向后移动一位,使用 a[i] 替换 a[j]。优化思路:针对数组可以采用二分查找找到当前元素的插入位置,链表不需要... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | Jerrydreamaker |
| hostname | github.com |
| expected-hostname | github.com |
| None | 9920a62ba22d06470388e2904804fb7e5ec51c9e35f81784e9191394c74b2bd2 |
| turbo-cache-control | no-preview |
| go-import | github.com/algorithm002/algorithm git https://github.com/algorithm002/algorithm.git |
| octolytics-dimension-user_id | 50957709 |
| octolytics-dimension-user_login | algorithm002 |
| octolytics-dimension-repository_id | 188251266 |
| octolytics-dimension-repository_nwo | algorithm002/algorithm |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 188251266 |
| octolytics-dimension-repository_network_root_nwo | algorithm002/algorithm |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7d6181066430cc06553c8396ca201e194ae33cb9 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width