数据结构和算法总结
文章平均质量分 69
总结数据结构和算法里的实现方法
夜半读核
这个作者很懒,什么都没留下…
展开
-
推荐一个讲解排序算法很好的博客
1.推荐一个讲解排序算法很好的博客之前自己结合教科书的例子实现了一些基本的排序算法。前几天看了关注的一个大佬的排序算法总结的笔记,看完后感觉对这些排序算法的理解更深刻了,而且大佬的总结的非常易懂,代码的实现如同他的讲解一样简单且容易记住,和他的代码一对比,我自己的一些算法的实现很绕,万一面试让写,会很容易出错。大佬博客:https://blog.csdn.net/jiange_zh/category_5787591.html?spm=1001.2014.3001.54822.我的总结看了大佬博客后,原创 2021-04-27 21:28:46 · 100 阅读 · 0 评论 -
[力扣c语言实现] 位运算
位运算231. 2的幂给定一个整数,编写一个函数来判断它是否是 2 的幂次方。%d%x112104100810001610000由以上表格可知,n为2的幂,那么n的二进制中1的个数一定为1,于是我们查找n的二进制中1的个数即可得到其是否为2的幂.代码如下:bool isPowerOfTwo(int n){ int num_1 = 0; while (n > 0) { num_1 += (n&a原创 2021-03-13 22:58:03 · 521 阅读 · 0 评论 -
基于栈的辅助,详解二叉树的三种非递归遍历方式
基于栈的辅助,详解二叉树的三种非递归遍历方式二叉树实例:二叉树结点定义:typedef struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right;}Node;定义一个栈及其出入栈的操作:typedef struct st_stack{ Node *array[10000];//节点指针数组,用于存放二叉树的节点指针 int top; int tail; int si原创 2021-03-07 23:16:20 · 493 阅读 · 0 评论 -
直接插入排序
直接插入排序1.代码如下2.思路总结1.代码如下#include <stdio.h>//O(n) = 1.最大时间复杂度为O(n^2)void insertsort(int *a,int size){ if (a == NULL || size == 0) { return ; } int i = 0,j = 0,k = 0; int tmp = 0; ...原创 2020-02-23 23:02:19 · 103 阅读 · 0 评论 -
快速排序
快速排序1.代码实现2.思路总结1.代码实现#include <stdio.h>int partition(int *g,int left,int right){ int key = g[left]; while(left<right) { while(left<right && g[right] >=...原创 2020-02-23 22:24:53 · 122 阅读 · 0 评论 -
堆以及堆排序
堆以及堆排序1. 代码实现1. 代码实现//2019-04-23 23:20完成#include<stdio.h>#include<stdlib.h>#include<string.h>void Swap(int *a,int *b){ int temp = *a; *a = *b; *b = temp;}void ...原创 2020-02-23 22:04:38 · 90 阅读 · 0 评论