算法与数据结构
文章平均质量分 92
造夢先森
一定要努力努力,永不放弃,才可以改变世界,改变自己~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
常见数据结构及算法
摘要:本文系统梳理了编程中必须掌握的数据结构和算法知识。核心数据结构包括栈/队列、哈希表、堆、树和并查集等,分别适用于不同场景。算法部分详细介绍了滑动窗口、双指针、二分查找等8大经典算法思想,包括其核心概念、适用场景和典型例题。特别强调了算法选择策略,如连续子数组问题考虑滑动窗口,最值问题考虑动态规划等。通过具体示例展示了各算法的思维差异和混合使用技巧,为算法学习提供了清晰的框架指引。原创 2025-12-31 21:30:00 · 753 阅读 · 0 评论 -
TCP校验和(Checksum)的原理和实现
概述TCP校验和(Checksum)是一个端到端的校验和,由发送端计算,然后由接收端验证。其目的是为了发现TCP首部和数据在发送端到接收端之间发生的任何改动。如果接收方检测到校验和有差错,则TCP段会被直接丢弃。TCP校验和覆盖TCP首部和TCP数据,而IP首部中的校验和只覆盖IP的首部,不覆盖IP数据报中的任何数据。TCP校验和、IP校验和的计算方法是基本一致的,除了计算的范围不同。原创 2018-01-27 21:29:48 · 44661 阅读 · 1 评论 -
技术面知识点总结
计算机网络 TCP/IP模型TCP、UDP比较TCP可靠性实现、重传机制、滑动窗口机制、拥塞控制三次握手、四次挥手、TIME_WAIT状态TCP/IP、Http、Socket的区别 ARP协议 icmp协议、ping的原理 Post和Get Cookie和Session HTTP和HTTPSHTTP1.0和HTTP1.1从输入url到显示网页,后台发生了什么?操作系统 进原创 2016-08-31 20:57:43 · 8667 阅读 · 3 评论 -
最小生成树与最短路径树代码
最小生成树算法:PRIM和 KRUSKAL#include<stdio.h>#include<stdlib.h>#include<iostream>#define MAX_VERTEX_NUM 20#define OK 1#define ERROR 0#define MAX 1000using namespace std;typedef struct Arcell{ dou原创 2017-03-29 10:57:02 · 1053 阅读 · 0 评论 -
【Leetcode】算法与数据结构 C语言
注:Java中 String常用函数:String str:str.length() //得到字符串长度str.charAt(i) //得到指定位置字符str.charAt(i)-'0' //将某个字符转换为int型char[] cs = str.toCharArray(); //将字符串转换为数组一,转换题型String to Integer (atoi)【题目】Implemen原创 2015-11-27 21:47:47 · 916 阅读 · 0 评论 -
【Leetcode】Linked list
Sting s="asd" //字符串双引号char c='asd' //字符单引号Add Two Numbers题目要求: You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes原创 2015-11-26 11:25:20 · 547 阅读 · 0 评论 -
排序算法JAVA实现三
时间复杂度为 O(n)的算法:计数排序、基数排序一,计数排序package Sort;import java.util.Arrays;public class CountingSort { public int[] countingSort(int[] A, int n) { // write code here int i,j,tmp;原创 2015-11-18 17:35:26 · 499 阅读 · 0 评论 -
排序算法JAVA实现一
常见排序算法: 题: 对于一个int数组,请编写一个排序算法,对数组元素排序。 给定一个int数组A及数组的大小n,请返回排序后的数组。 测试样例: [1,2,3,5,2,3],6 [1,2,2,3,3,5]时间复杂度为 O(N^2)的算法:冒泡排序、选择排序、插入排序一,冒泡排序:冒泡排序算法的运作如下: 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。原创 2015-11-18 11:38:36 · 731 阅读 · 0 评论 -
排序算法JAVA实现二
时间复杂度为 O(n*log(n))的算法:归并排序、快速排序、堆排序、希尔排序题: 对于一个int数组,请编写一个排序算法,对数组元素排序。 给定一个int数组A及数组的大小n,请返回排序后的数组。 测试样例: [1,2,3,5,2,3],6 [1,2,2,3,3,5]一,归并排序 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and原创 2015-11-18 17:18:17 · 644 阅读 · 0 评论 -
排序算法重要知识点
经典排序算法及特性:经典排序算法的空间复杂度: O(1):冒泡、选择、插入、堆、希尔排序 O(logN)~O(N):快速排序 O(N):归并排序 O(M):计数排序、基数排序经典排序算法的稳定性: 稳定性概念:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前原创 2015-11-18 22:41:27 · 1094 阅读 · 0 评论 -
计算机算法设计与分析
算法初识:●算法就是一组有穷的 规则 ,它们规定了解决某一特定类型问题的一系列运算 。此外,算法还应具有以下五个重要特性: 确定性 , 有穷性 ,可行性 , 0个或多个输入 , 一个或多个输出。●在进行问题的计算复杂性分析之前,首先必须建立求解问题所用的计算模型。3个基本计算模型是随机存取机RAM(Random Access Machine);随机存取存储程序机RASP(Random原创 2015-05-18 20:57:12 · 7922 阅读 · 1 评论 -
leetcode面试频率及总结
1Two Sum25arraysort setTwo Pointers2Add Two Numbers34linked listTwo Pointers原创 2015-11-23 10:16:30 · 1040 阅读 · 0 评论
分享