算法与数据结构
造夢先森
一定要努力努力,永不放弃,才可以改变世界,改变自己~
展开
-
leetcode面试频率及总结
1Two Sum25arraysort setTwo Pointers2Add Two Numbers34linked listTwo Pointers原创 2015-11-23 10:16:30 · 953 阅读 · 0 评论 -
TCP校验和(Checksum)的原理和实现
概述TCP校验和(Checksum)是一个端到端的校验和,由发送端计算,然后由接收端验证。其目的是为了发现TCP首部和数据在发送端到接收端之间发生的任何改动。如果接收方检测到校验和有差错,则TCP段会被直接丢弃。TCP校验和覆盖TCP首部和TCP数据,而IP首部中的校验和只覆盖IP的首部,不覆盖IP数据报中的任何数据。TCP校验和、IP校验和的计算方法是基本一致的,除了计算的范围不同。原创 2018-01-27 21:29:48 · 40892 阅读 · 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 · 8043 阅读 · 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 · 945 阅读 · 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 · 835 阅读 · 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 · 477 阅读 · 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 · 433 阅读 · 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 · 649 阅读 · 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 · 560 阅读 · 0 评论 -
排序算法重要知识点
经典排序算法及特性:经典排序算法的空间复杂度: O(1):冒泡、选择、插入、堆、希尔排序 O(logN)~O(N):快速排序 O(N):归并排序 O(M):计数排序、基数排序经典排序算法的稳定性: 稳定性概念:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前原创 2015-11-18 22:41:27 · 964 阅读 · 0 评论 -
计算机算法设计与分析
算法初识:●算法就是一组有穷的 规则 ,它们规定了解决某一特定类型问题的一系列运算 。此外,算法还应具有以下五个重要特性: 确定性 , 有穷性 ,可行性 , 0个或多个输入 , 一个或多个输出。●在进行问题的计算复杂性分析之前,首先必须建立求解问题所用的计算模型。3个基本计算模型是随机存取机RAM(Random Access Machine);随机存取存储程序机RASP(Random原创 2015-05-18 20:57:12 · 7673 阅读 · 1 评论