[데이터 구조] 배열 과 광의 표

2579 단어 데이터 구조
배열 에 대해 서 는 별로 많은 이 야 기 를 하지 않 은 것 같 습 니 다.
먼저 정 의 를 내 렸 는데 모든 차원 에서 대응 하 는 전구 후계 가 있 고 수미 요 소 는 예외 이다.작업 은 요소 수정 요 소 를 초기 화 할 수 있 습 니 다.그리고 순서대로 저장 하기에 적합 한 구 조 를 말 했 습 니 다. 다 차원 적 인 상황 에서 아래 표 (j1 j2 j3... jn) 에 따라 해당 하 는 픽 셀 의 저장 위치 cn 을 찾 았 습 니 다. = L, ci-1 = bi * ci,  LOC = LOC 기본 주소 + Σciji , L 은 모든 요소 에 저 장 된 단위 입 니 다.그리고 실현 코드 를 주 었 습 니 다.
새로운 지식 은: vastart( , );
               va_arg( , );
               va_end();
이 세 가 지 는 길 어 지 는 매개 변수 표 정 보 를 처리 하 는 데 쓸 수 있다.
 
다음은 행렬 이다.
우선 특수 행렬 의 압축 이다.대각 행렬, 하 (상) 삼각 행렬, 대각 행렬 등 규칙 적 인 특수 행렬.규칙 에 따라 행렬 을 1 차원 배열 에 존재 시 키 고 원시 하 표 와 압축 후 행렬 하 표 의 대응 관 계 를 구축 하면 된다.
불규칙 한 희소 행렬 에 대해 서 는 희소 행렬 의 비 0 원 만 저장 합 니 다.3 원 짜 리 테이블 저장 (줄, 열, 원소 값) 이 필요 합 니 다.3 원 그룹 표 의 서로 다른 표현 방식 에 따라 희소 행렬 의 서로 다른 압축 저장 방법 을 얻 을 수 있다.
① 삼원 조 순서 표 행 서 를 위주 로 배열 하 다.배열 로 저장 하고 줄 번호 가 작은 것 을 앞 에 놓 는 것 이다.이런 구조 에서 전 치 된 조작 을 말 했 는데 관건 은 전 치 된 후에 줄 을 위주 로 정렬 하 는 방법 을 말 했다.또 하나의 빠 른 전환 을 말 했다. 바로 원 행렬 의 모든 첫 번 째 요소 의 위치 와 모든 요소 의 개 수 를 저장 하 는 것 이다. 그러면 그 다음 에 정렬 하지 않 고 바로 맞 는 위치 에 두 면 된다.
② 행 논리 링크 의 순서 표 는 각 줄 의 첫 번 째 비 0 위 치 를 저장 하여 임의의 줄 을 쉽게 뽑 을 수 있 도록 하 는 것 이다.두 개의 희소 행렬 이 서로 곱 하 는 예 를 말 했다. 말하자면 0 과 다른 요소 가 서로 곱 하 는 이런 불필요 한 계산 을 없 애기 위해 서 는 줄 의 시작 위 치 를 구체 적 으로 보지 않 고 너무 번거롭다.신기 술 같은 거 없어.
③ 십자 형 링크 두 개의 희소 행렬 을 더 할 때 비 0 요소 의 수량 변화 가 매우 클 수 있 으 므 로 순서 저장 구 조 를 사용 하 는 것 은 좋 지 않다.이 구 조 는 각각 0 원 이 아 닌 5 개의 도 메 인 (줄, 열, 값, 이 줄 의 다음 요소 포인터, 이 열 의 다음 요소 포인터) 으로 두 개의 1 차원 배열 로 각 줄 과 각 열의 머리 결 점 을 저장 합 니 다.
 
광의 표 는 말하자면 하나의 표 이 고 표 중의 원소 도 표 일 수 있다.시 계 는 공유 할 수 있 고 재 귀 할 수 있다 고 말 하기 시 작 했 지만 뒤의 소 개 는 공유 할 수 없고 재 귀 할 수 없 는 전제 에서 소 개 된 것 이다. 표 머리 와 표 끝의 정의 도 약간 이상 하 다.표 두 는 매우 평범 하 다. 바로 첫 번 째 원소 다.표 끝 에 남 은 모든 원소 가 있다 니.구 조 를 정의 할 때 연합 과 매 거 를 사용 하여 얻 은 것 이 많다 고 느 꼈 다.
typedef enum{ATOM, LIST} ElemTag;

typedef struct GLNode{

    ElemTag tag;

    union{

        AtomType atom;         //       

        struct {struct GLNode *hp, *tp;}ptr;  //          

    };

}*GList;

m 원 다항식 의 표 시 를 말 했 는데 아마도 끊임없이 주 변 원 을 분해 하여 계 수 를 얻 는 것 을 의미한다.예:
P=X10Y3Z2+2X6Y3Z2+3X5Y2Z2+X4Y4Z+6X3Y4Z+2YZ+15
  =((X10+2X6)Y3+3X5Y2)Z2+((X4+6X3)Y4+2Y)Z
이렇게 하면 Z 의 계수 로 다항식 을 표시 할 수 있 고 Z 의 계 수 는 Y 의 다항식 이 며 Y 의 계 수 는 X 의 다항식 으로 광의 표 로 표시 할 수 있다.
 
그 다음 에 재 귀 알고리즘 을 말 해서 광의 표 깊이 (괄호 중수) 와 광의 표 복 제 를 구 했 습 니 다. 자세히 보지 못 해서 번 거 로 웠 습 니 다. 그리고 저 는 인터넷 에서 광의 표 에 관 한 응용 도 찾 지 못 해서 보고 싶 지 않 았 습 니 다.

좋은 웹페이지 즐겨찾기