数据结构
Willing_hope
我要一往无前~
展开
-
【快排、UDP/TCP协议、TCP/IP分层模型及每层特点、死锁产生及避免方法】
快速排序属于交换排序的一种,是基于二叉树结构的交换排序的方法;基本思想:1)任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两个子序列;2)左子序列中所有元素均小于基准值,右子元素序列中所有元素均大于基准值,然后左右子序列重复该过程,直到所有排列都在相应的位置上;代码:oid quickSort(int *array, int left, int right){ if(left < right) { int pivot = array[left];.原创 2020-09-18 18:02:34 · 798 阅读 · 0 评论 -
【数据结构(栈和队列)】
一、栈1、什么是栈?栈是一种特殊的线性表 ,只允许在固定的一端进行元素的插入和删除操作,且称进行操作的那一段为栈顶,另一端称为栈底;2、栈的基本操作(1)压栈栈的插入操作,插入的数据在栈顶(2)出栈栈的删除操作,出栈的数据也是栈顶数据即先进先出;3、栈的实现栈一般利用数组或者链表实现,常用数组结构实现,因为尾插时的代价比小;stack.h// 顺序表的动态存储#ifndef _Stack_H_#define _Stack_H_#include <stdio.原创 2020-09-09 20:30:55 · 162 阅读 · 0 评论 -
【数据结构(时间、空间复杂度;顺序表;链表【链表有环、环入口点、链表相交、有序链表合并】)】
一、时间复杂度和空间复杂度1、什么是算法效率?算法效率分为时间效率和空间效率,时间效率被称为时间复杂度而空间效率称为空间复杂度;时间复杂度是主要衡量一个算法的运行速度,而空间复杂度主要衡量的是算法所需要的额外空间;2、什么是时间复杂度?时间复杂度是主要衡量一个算法的运行速度,因不能每次都让算法上机测试计算时间复杂度,所以将算法中的基本操作的执行次数,作为算法的时间复杂度;如何计算时间复杂度?答:大概计算算法的执行次数,用大O的渐进表示法进行表示;确定大O阶方法:(1)用常数1取原创 2020-09-09 17:49:27 · 832 阅读 · 0 评论